更改文件夹及其子文件夹中所有文件的扩展名

更改文件夹及其子文件夹中所有文件的扩展名

我使用XCOPY以下命令成功将 的全部内容复制 \MY SKETCHES 2021\My Sketches (TEXT)

这是我的命令:
xcopy C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\My Sketches\MY SKETCHES 2021 C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\My Sketches\My Sketches (TEXT) /E

但我想将所有.ino源文件的扩展名更改为.txt。理想情况下是同时进行,但我很乐意分两步进行,也许第二步是 RENAME。我在 中没有看到相关参数XCOPY。而且多功能Bulk Rename Utility仅适用于单个文件夹,而不是递归。

背景:这将允许我使用 Dropbox 查看 iPad 上的 .ino 文件,尽管它们是纯文本文件,但 Dropbox 无法做到这一点。
请接受所有建议。

答案1

这似乎有效:

for /F "usebackq delims=" %F in (`"dir /b/s *.ino"`) do  ren "%F" "%~nF.txt"

usebackq 是允许文件集中出现反引号的必要条件。delims= 适用于包含嵌入空格的文件夹或文件名。%~nF 将 %F 仅扩展为文件名,不包含路径或扩展名。要在运行前检查它,只需插入 echo 例如

for /F "usebackq delims=" %F in (`"dir /b/s *.ino"`) do echo ren "%F" "%~nF.txt"

编辑:在命令提示符下输入时有效。在批处理脚本中,需要将百分号加倍,例如

for /F "usebackq delims=" %%F in (`"dir /b/s *.ino"`) do echo ren "%%F" "%%~nF.txt"

相关内容