命令提示符:在所有文件上循环并运行命令

时间:2018-04-16 18:48:21

标签: for-loop command-prompt

我是使用命令提示符的新手。我有大量的zip文件,我需要运行程序。

在命令提示符下的其中一个文件上运行程序如下所示:

Tabulate.exe -i S:\Packages\ZipFolderName_1.zip -o S:\Output\ZipFolderName_1

吐出一个csv。

我发现这些帖子很有用,但似乎无法实现我的情况:

Iterate all files in a directory using a 'for' loop

Loop on files and run command

1 个答案:

答案 0 :(得分:0)

阅读整个for /?输出,请注意~修饰符。在以下cmd复合命令中使用ECHO仅仅显示 Tabulate.exe行要执行:

for %I in ("S:\Packages\*.zip") do @ECHO Tabulate.exe -i %~fI -o S:\Output\%~nI
  

要在批处理程序中使用FOR命令,请指定%%variable   而不是%variable。变量名称区分大小写,因此%i是   与%I不同。

@ECHO OFF
SETLOCAL EnableExtensions

for %%I in ("S:\Packages\*.zip") do (
    rem explaining comments:
    rem %~fI expands %I to a fully qualified path name
    rem %~nI expands %I to a file name only  ↓↓↓↓
    ECHO Tabulate.exe -i %%~fI -o S:\Output\%%~nI
rem ↑↑↑↑ remove `ECHO` no sooner than debugged  
)