Windows批处理为文件名添加前缀,为什么要添加两次?

Mar*_*aio 6 windows file batch-file prefix batch-processing

为了给我正在使用这个批处理文件的文件夹中的所有pdf文件添加一个简单的"hello"前缀:

FOR %%F IN (*.pdf) DO (RENAME "%%F" "hello%%F")
Run Code Online (Sandbox Code Playgroud)

将其保存到"rename.bat"文件中并将其放入我需要重命名的文件的文件夹中.然后我只需双击"rename.bat".

这几乎可以工作,但第一个文件获得两次前缀.

让我们说在我的文件夹:A.pdf,B.pdf,C.pdf,它们被转换成:

  • hellohelloA.pdf
  • helloB.pdf
  • helloC.pdf,

你知道批处理文件有什么问题吗?


我注意到,当文件不止一个时,它总会这样做.当文件夹中只有一个文件时它可以正常工作,但它不是很有用:-).

Ale*_* K. 9

/f 消除了重新捕获现有文件的问题:

FOR /f "delims=" %%F IN ('DIR /a-d /b *.pdf')  DO (RENAME "%%F" "hello%%F")
Run Code Online (Sandbox Code Playgroud)