1

我试图创建一个批处理脚本来调用 .exe 对同一文件夹中的多个数据文件进行分析。语法应该是这样的:

"D:\Softwares\Analyzer.exe" [DataFile1].dat [DataFile2].dat ... [DataFileN].dat AnalysisFile.pdo"

目前我尝试使用FOR循环扫描指定文件夹中的每个 *.dat 文件。(我不知道该文件夹中有多少数据文件,所以我不能直接在命令行中输入文件名)

例如:

@ECHO OFF
FOR /r %%i in (*.dat) DO (
"D:\Softwares\Analyzer.exe" %%~ni.dat TestAnalysis.pdo
)
PAUSE

但是,分析是针对单独的数据文件进行的,每次检测到新的 .dat 文件时,都会弹出并打开 .exe 文件。有什么方法可以使用*.dat或任何其他方法来表示 [DataFile1].dat [DataFile2].dat ... [DataFileN].dat用空格分隔的一行(不是新行)?

我也尝试过使用@tilte,它也不起作用。由于每当检测到新的 .dat 文件时 .exe 窗口都会弹出,我必须关闭它们中的每一个才能继续下一个 .dat 文件。

一般来说,我想在一个文件夹中进行自动扫描,获取数据文件的名称,然后编写一个命令行来在一行中调用这些 .dat 文件。

任何想法/帮助表示赞赏!!!

4

1 回答 1

2

echo试试这个,如果输出正常,删除单词:

@echo off &setlocal enabledelayedexpansion
set "line="
for %%i in (*.dat) do set "line=!line! "%%i""
echo "D:\Softwares\Analyzer.exe" %line% TestAnalysis.pdo

该代码不适!用于文件名中带有感叹号的 *dat 文件。如果需要,这可能会被修复。

于 2013-06-03T13:53:34.277 回答