CMD for-loop,同时通过默认程序和管道执行

时间:2014-12-08 15:27:09

标签: for-loop cmd

我的目录中装有.nc文件。这些文件必须使用名为“ncdump”的程序执行,该程序被设置为打开文件的默认程序。然后它可以作为(输出到文件)执行:

file.nc > output.txt

这里以某种方式执行文件。现在我想使用for循环对目录中的所有文件执行此操作。我尝试了下面的内容:

for /r %i in (*) do cmd i% > scriptout.txt

当然,对输出文件进行编号的方法(毫无疑问是一个计数器)会很好。这可能是非常基本的东西,但我对CMD(以及整个Windows)并不熟悉。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

echo off
setlocal enabledelayedexpansion
set count=0
for /r %%i in (*.nc) do (
    set count+=1
    %%i >scriptout!count!.txt
)
echo %count% files processed.

一些常见的陷阱:

    批处理文件中的
  • 使用%%i(仅在命令行%i上)

  • 要在块内使用变量(()之间),您必须使用延迟扩展(setlocal enabledelayedexpansion启用它并编写变量{{1}而不是!var!

  • 开场卷曲(%var%)必须与(位于同一行。