我正在尝试使用批处理文件将文件夹名称添加到文件中。我想使用1个文件夹中的文件夹名称。我有,从这里和其他来源:
for %%* in (..) do set CurrDirName=%%~n*
echo %CurrDirName%
set strPrefix=%CurrDirName%
for %%a in (*) do rename "%%a" "%CurrDirName%_%%a"
正在添加正确的文件夹名称,但它会在无限循环中被捕获,直到文件名对于操作系统来说太长。我对此非常陌生,今天就开始了,所以任何帮助都会非常感激,如果你回复就像跟白痴说话一样,你也不会太远!非常感谢
答案 0 :(得分:2)
此行为是for
命令的已知错误/功能。 for循环生成的文件列表是动态的,这意味着循环中修改的文件将重新添加到列表中,从而导致无限循环。
使用dir
命令生成静态文件列表。
for /f "delims=" %%A in ('dir /b *') do rename "%%A" "%CurrDirName%_%%A"
有关所有选项,请参阅dir /?
。
欢迎来到批处理脚本的世界。的 :)
强>