标题: 求助(改名)
[打印本页]
作者: zg888
时间: 2007-3-8 12:45
标题: 求助(改名)
有这样一些文件:A001~A200
要把A001~A070改成A01~A70
A071~A150改成B01~B80
请大虾帮忙写个批处理!!!
作者: test266
时间: 2007-3-8 22:50
标题: 试试
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /L %%i in (1,1,70) do (
set str=00%%i
set str1=!str:~-3!
set str2=!str:~-2!
echo ren A!str1! A!str2!
)
set /a num=1
for /L %%i in (71,1,150) do (
set str=00%%i
set str1=!str:~-3!
set str2=00!num!
set str2=!str2:~-2!
set /a num += 1
echo ren A!str1! B!str2!
)
作者: zg888
时间: 2007-3-12 06:23
标题: test266
谢谢大吓帮忙,俺试了下,在运行时是显示的改了名字,但是,文件却还是老样子,没有改名字。是哪里的问题???
作者: zh159
时间: 2007-3-12 06:27
echo ren A!str1! A!str2!
echo ren A!str1! B!str2!
to
ren A!str1! A!str2!
ren A!str1! B!str2!
作者: zg888
时间: 2007-3-12 06:47
标题: 可以了
去掉ECHO就可以改了,谢谢!!
作者: zg888
时间: 2007-3-12 06:51
标题: 能解释下吗
set str1=!str:~-3!
set str2=00!num!
set str2=!str2:~-2!
set /a num += 1
能说说=号后是什么意思吗??
作者: test266
时间: 2007-3-12 07:02
set str1=!str:~-3! 取str字符串的最后3个字符
set str2=00!num! 在数字前加两个0,也就是1变成001,99变成0099
set str2=!str2:~-2! 然后再取最后两个字符,则001变成01,0099变成99
作者: zg888
时间: 2007-3-12 07:24
标题: 谢谢
如果文件是带扩展名的,是不是把
set str1=!str:~-3! 改成 set str1=!str:~-6!就可以呢?
作者: test266
时间: 2007-3-12 08:03
直接加在这行上,以.txt为例
ren A!str1!.txt A!str2!.txt
ren A!str1!.txt B!str2!.txt