我在批处理中做错了什么?

cla*_*dio 6 windows batch batch-file batch-rename

我想将文件扩展名从改变.jpg.txt。这必须发生在当前文件夹和所有子文件夹中。我在批处理中做错了什么?

for /R %%G IN (.) DO (rename *.jpg *.txt) 
Run Code Online (Sandbox Code Playgroud)

Dav*_*ill 0

我想将文件扩展名从 .jpg 更改为 .txt

for /R %%G IN (.) DO (rename *.jpg *.txt)
Run Code Online (Sandbox Code Playgroud)

你很接近。在批处理文件中使用以下命令:

for /R %%G IN (*.jpg) DO (ren "%%G" "%%~nG.txt")
Run Code Online (Sandbox Code Playgroud)

从命令行 shell:

for /R %G IN (*.jpg) DO (ren "%G" "%~nG.txt")
Run Code Online (Sandbox Code Playgroud)

笔记:

  • "参数周围添加了 s,以防文件ren名包含空格。
  • %~n1- 扩展%1为不带文件扩展名或路径的文件名

进一步阅读