大家好,我有一个bat文件代码,可以用另一个字符替换特定字符;
效果很好,但我想在所有子目录中执行此操作。有人可以帮我吗?
set folder="C:\New folder\"
cd /d %folder%
setlocal enabledelayedexpansion
set "pattern=-"
set "replace=_"
for %%I in (*.txt) do (
set "file=%%~I"
ren "%%I" "!file:%pattern%=%replace%!"
)
endlocal
试试这个。 使用
for /r
遍历所有子目录,然后使用 %%~nxI
获取文件的名称和扩展名。
set "folder=C:\stackoverflow\"
cd /d "%folder%"
setlocal enabledelayedexpansion
set "pattern=-"
set "replace=_"
for /r %%I in (*.txt) do (
set "file=%%~nxI"
ren "%%I" "!file:%pattern%=%replace%!"
)
endlocal