目前Internet上上充斥的dos递归遍历目录文件都不支持环境变量延迟扩展,从而导致在对遍历出的文件进行进一步处理的时候会出现问题。本文提供了一种支持环境变量延迟扩展的目录文件遍历方式。
echo off
setlocal enabledelayedexpansion
::指定起始文件夹
set DIR="%cd%"
:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
:: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件
for /R %DIR% %%f in (*.pdf) do (
SETLOCAL
echo "%%f"
set inputFile="%%f"