通过批处理脚本在一个文件夹中执行所有文本文件

时间:2013-01-22 07:45:19

标签: batch-file

如何将特定文件夹中的所有.txt文件用作我的批处理脚本的输入,而无需单独对其名称进行硬编码?

简而言之:我希望批处理脚本处理它所在目录中的所有.txt文件。

当前代码:

for /f "tokens=4 delims=|" %%a in (filename1.txt) do (...)

...只读一个。

我尝试过以下不起作用的方法:

for /f "tokens=4 delims=|" %%a in ('dir /b C:\BatchScripting') do (..)

for /f "tokens=4 delims=|" %%a in (*.txt) do (...)

这也是:

for /f "tokens=4 delims=|" %%a in (%%~dpnx) do (...)

但无济于事。救命啊!

2 个答案:

答案 0 :(得分:1)

我想你是在追求这个

for %%x in (*.txt) do (
for /f "tokens=4 delims=|" %%a in (%%x) do (...)
)

答案 1 :(得分:0)

如果你对你想要达到的目标更具体一点,这将更容易回答。基于我对您的问题的解释,这是一个可能的解决方案;在命令行上使用FOR循环,如下所示

FOR %A IN *.txt DO CALL <batch_script> [parameters]

上述陈述的一般形式是

FOR %A IN (list) DO command [ parameters ]

其中(list)是您要执行和操作的项目集 command是任何内部/外部命令或批处理脚本,如图所示。