关于bat给文件夹内所有文件改名的问题
来源:百度知道 编辑:UC知道 时间:2024/05/27 11:24:51
for /f "delims=" %%i in ('dir /ad/b') do (ren "%%i" "%%ia")
md "contents"
我用这个给所有文件夹后面加"a",
但是每次都是隔一次才好用一次,
这是为什么呢
比如说运行前
contents
第一次运行后(正常)
contents
contentsa
第二次(不正常)
contents
contentsaa
应该是
contents
contentsa
contentsaa
请问高手这是怎么回事
md "contents"
我用这个给所有文件夹后面加"a",
但是每次都是隔一次才好用一次,
这是为什么呢
比如说运行前
contents
第一次运行后(正常)
contents
contentsa
第二次(不正常)
contents
contentsaa
应该是
contents
contentsa
contentsaa
请问高手这是怎么回事
先来解读下你的批处理
for /f "delims=" %%i in ('dir /ad/b') do (ren "%%i" "%%ia")
md "contents"
第一条是给当前文件夹下的所有文件夹重命名为 文件夹名a
当你第一次运行过这批处理才在当前目录下建了一个 contents目录。
当你第二次运行批处理时 contents也在这个重命名之内。所以先把contents 改名为contentsa 然后在新建一个 contents 文件夹
第三次运行批处理时为会错误提示。
比如 二次运行后目录内有 contents contentsa 两个目录
第三次运行当然是先改contents 目录为 contentsa 但contentsa目录已经存在所以会产生错误。。
@echo off
for /f "delims=" %%i in ('dir /ad/b/o-n') do (ren "%%i" "%%ia")
md "contents"
这样就可以了。
@echo off
for /d %%i in (*)do ren "%%i" "%%ia"
echo 全部文件夹都加上A了&pause