Board logo

标题: 新手求助一个改文件夹名字的批处理 [打印本页]

作者: antwell     时间: 2007-10-31 07:57    标题: 新手求助一个改文件夹名字的批处理
我想把一个目录下的一些"文件夹"的文件名的第一个字符去掉
比如abc变成bc
里头的"文件夹"名长度不一致,但是都是a打头的,
如可能有 请问如何解决?

作者: s11ss     时间: 2007-10-31 09:06
将批处理放在这些文件夹所在目录.
@echo off
for /f "delims=" %%i in ('dir/ad/b a*') do (
set n=%%i
call set n=%%n:~1%%
call ren "%%i" "%%n%%"
)


Last edited by s11ss on 2007-10-31 at 09:09 AM ]

作者: abcd     时间: 2007-10-31 09:07
@echo off
for /d %%i in (a*) do (
set "fn=%%i"
call move "%%i" "%%fn:~1%%"
)

作者: antwell     时间: 2007-10-31 12:42
谢谢 成功了,能不能给解释一语句啊‘

作者: antwell     时间: 2007-10-31 12:44
还有,如果要删除的字符不在第一位的话如何处理

作者: abcd     时间: 2007-10-31 13:43
楼主需要解释几楼的??

以下是删除当前目录下所有一级目录文件夹名的第三个字符

@echo off
for /d %%i in (*) do (
set "fn=%%i"
call move "%%i" "%%fn:~0,2%%%%fn:~3%%"
)

作者: antwell     时间: 2007-11-1 08:02
有没有对批处理的语法系统学习的东西啊,像这一段"%%fn:~0,2%%%%fn:~3%%"就不是很懂

作者: abcd     时间: 2007-11-1 08:38
http://www.cn-dos.net/forum/viewthread.php?tid=25746&fpage=2

请看这个帖子,是lxmxn版主写的。

作者: fastslz     时间: 2007-11-1 09:02
这个简单点实际应用
@echo off
set slz=123456789
echo 数字%slz%前三位是%slz:~0,3%, 后三位是%slz:~6,9%, 中间三位是%slz:~3,3%。
echo 数字%slz%中间三位还可以这样%slz:~3,-3%
pause

作者: antwell     时间: 2007-11-1 12:39
谢谢各位帮忙的朋友 !