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

Posted

技术标签:

【中文标题】命令提示符:在所有文件上循环和运行命令【英文标题】:Command prompt: loop and run command on all files 【发布时间】:2018-04-16 18:48:20 【问题描述】:

我是使用命令提示符的新手。我有大量需要在其上运行程序的 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】:

阅读整个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  
)

【讨论】:

以上是关于命令提示符:在所有文件上循环和运行命令的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令提示符运行一系列 vim 命令

我在命令提示符里输入DOS命令,怎么总是出现不是内部或外部命令,也不是可运行程序

请模拟一下win10的cmd

win10 文件 打开命令提示符 不见了

cmd的所有命令

windows命令行窗口怎么打开