我尝试创建bat文件,只通过目录中的文件名以特定单词开头的文件进行迭代。
例如:
companyName .module1.exe
的的companyName .module2.dll
我知道如何迭代文件,但不知道如何检查其名称是否符合特定条件。
答案 0 :(得分:1)
将以下内容添加到批处理文件中:
for /F "eol=: tokens=*" %%A in ('dir /A-D /B "companyName*"') do (echo %%~fA)
此脚本将echo
当前工作目录中以 companyName 前缀开头的所有文件(仅限文件)。将echo
替换为您要执行的任何其他命令。
更新1 :要查看其他目录,您可以
for /F "eol=: tokens=*" %%A in ('dir /A-D /B "pathToLookIn/companyName*"') do (echo %%~fA)
或
pushd \ & cd "pathToLookIn" & (for /F "eol=: tokens=*" %%A in ('dir /A-D /B "companyName*"') do (echo %%~fA)) & popd
pathToLookIn 是完全限定或相对路径。
更新2 :我已更新for /F
循环以处理以@dbenham建议的;
开头的文件名。
答案 1 :(得分:1)
好吧,如果您知道如何迭代文件,那么只需使用这些知识:
for %%f in (companyName*) do (
...
)
请注意,迭代dir
的输出很容易出错,并且在许多情况下会破坏Unicode字符。由于for
能够直接迭代,因此很少需要使用劣质选项。