使用批处理文件将文件夹名称添加到文件中

时间:2013-10-01 13:46:17

标签: batch-file directory renaming

我正在尝试使用批处理文件将文件夹名称添加到文件中。我想使用1个文件夹中的文件夹名称。我有,从这里和其他来源:

for %%* in (..) do set CurrDirName=%%~n*

echo %CurrDirName%

set strPrefix=%CurrDirName%

for %%a in (*) do rename "%%a" "%CurrDirName%_%%a"

正在添加正确的文件夹名称,但它会在无限循环中被捕获,直到文件名对于操作系统来说太长。我对此非常陌生,今天就开始了,所以任何帮助都会非常感激,如果你回复就像跟白痴说话一样,你也不会太远!非常感谢

1 个答案:

答案 0 :(得分:2)

此行为是for命令的已知错误/功能。 for循环生成的文件列表是动态的,这意味着循环中修改的文件将重新添加到列表中,从而导致无限循环。

使用dir命令生成静态文件列表。

for /f "delims=" %%A in ('dir /b *') do rename "%%A" "%CurrDirName%_%%A"

有关所有选项,请参阅dir /?

欢迎来到批处理脚本的世界。的 :)