通过批处理将后缀添加到子文件夹中的所有文件名

时间:2019-02-12 13:21:12

标签: batch-file

是否可以在所有子文件夹中递归地将后缀添加到所有文件名(而不是文件夹)。

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%"

1 个答案:

答案 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 /?