是否可以在所有子文件夹中递归地将后缀添加到所有文件名(而不是文件夹)。
1.txt到1_1.txt ,依此类推
我尝试过并从此开始:
undefined
,但仅适用于特定文件夹中的特定文件类型,并且批处理文件与.txt文件位于同一目录中。否则将显示错误set "suffix=_1"
set "rootdir=C:\Test"
set "fileTyp=.txt"
set "filefilter=*.txt"
FOR /F "delims=" %%i in ('dir "%rootdir%\%filefilter%" /B^|findstr /V /I /B "%suffix%"') do ren "%%~fi" "%%~ni%suffix%%fileTyp%"
。
答案 0 :(得分:1)
根据我想要的内容,尝试一下:
@for /f "delims=" %%i in ('dir "C:\Test" /s /b /a-d ^| findstr /v "_1\.[^.]*$"') do (
ren "%%~fi" "%%~ni_1%%~xi"
)
这将简单地在/s
命令中使用dir
搜索所有文件,然后排除目录/a-d
并排除已经带有后缀_1.*
的文件,然后将文件名剥离为重命名文件以包含后缀。有关扩展的更多信息,请参见for /?