批处理递归遍历文件并处理

批处理递归遍历文件夹

遍历当前文件夹下的所有文件

::指定起始文件夹
set DIR="%cd%"
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件
for /R %DIR% %%f in (*.*) do ( 
echo %%f
)
pause

批处理递归移动/拷贝文件到指定文件夹

指定遍历某类文件(doc文件和pdf文件)

::指定起始文件夹
set DIR="%cd%"
for /R %DIR% %%f in (*.doc *.pdf) do ( 
echo %%f
)
pause

将某类文件(doc pdf)移动到指定文件夹
参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
%%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
%%f 在作为move或其他命令的参数时一定要加""
防止%%f中自带空格,导致命令参数错误.

set DIR="%cd%"
for /R %DIR% %%f in (*.doc *.pdf) do ( 
echo %%f
move "%%f" %DIR%
)
pause

将某类文件(doc pdf)拷贝到指定文件夹

set DIR="%cd%"
echo DIR=%DIR%
for /R %DIR% %%f in (*.doc *.pdf) do ( 
echo %%f
copy "%%f" %DIR%
)
pause

你可能感兴趣的:(批处理递归遍历文件并处理)