如何为文件夹中的所有文件和文件夹添加前缀?(Windows)

如何为文件夹中的所有文件和文件夹添加前缀?(Windows)

以下命令仅更改文件的名称,但不更改文件夹的名称。

for %a in (*) do ren "%a" "00_%a"

答案1

以下命令仅更改文件的名称,但不更改文件夹的名称。

for %a in (*) do ren "%a" "00_%a"

笔记:

  • for不建议按上述方法使用。
  • 文件有可能被重命名多次。
  • 原因请参见下文。

在 shell 中使用以下命令cmd

for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"

在批处理文件中(替换%%%):

for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"

笔记:

这是批判的您使用的FOR /F,而不是简单的FOR

在开始迭代之前收集命令FOR /F的整个结果DIR,而简单FOR在内部缓冲区已满后开始迭代,这增加了多次重命名同一文件的风险。

根据建议德本汉姆在他的回答中在多个文件名末尾添加“文本”


进一步阅读

答案2

要对文件夹(目录)而不是文件执行此 For 循环,只需包含开关/D

for /D %a in (*) do ren "%a" "00_%a"

for /?

FOR /D %变量 IN (设置) DO 命令 [命令参数]

If set contains wildcards, then specifies to match against directory
names instead of file names.

相关内容