我正在尝试构建一个批处理文件,它将对某个位置的所有子目录执行重命名,格式为“父目录文件名”,后跟下划线,后跟“4 位递增数字”(每个目录的新数字计数)。例如 ABCDEF_0001、ABCDEF_0002 等。我目前使用 Windows 软件执行此操作,但希望能够将其作为批处理文件运行。
非常感谢!
编辑-如果可能的话,使用 bat 文件中的地址而不是拖放。
答案1
请检查这是否符合预期:
您必须将父文件夹拖放到批处理文件中...
@echo off
if exist "%~1" (if not exist "%~1\" exit) else (exit)
set Parent=%~nx1
pushd "%~1"
for /f "delims=" %%a in ('dir /b /ad') do call :Edit "%%a"
exit
:Edit
set /a Counter+=1
set CounterZ=000%Counter%
set CounterZ=%CounterZ:~-4%
ren "%~1" "%Parent%_%CounterZ%"
goto :EOF