1

我有一个需要通过命令行运行的程序,我想制作一个批处理文件以节省时间。它在同一目录中查找具有特定扩展名的任何文件,然后运行 ​​exe 来操作该文件。就像是:

example.exe option1 *.ext

.ext它正在寻找的具有正确扩展名类型的文件在哪里。文件类型通常具有不同的文件名,但始终具有相同的扩展名。该选项只是程序知道如何使用的东西,因此现在可以忽略。

诀窍是我只希望它在同一目录中没有另一个具有相同名称但扩展名不同的文件时运行。

我想我看到了一些关于能够在批处理文件中使用 IF 语句的东西,但我不知道如何做到这一点。有任何想法吗?

4

2 回答 2

2

您可以自己遍历文件:

for %%x in (*.ext) do (
  if exist %%~n.someotherext example.exe option1 "%%x"
)
于 2012-10-31T14:24:14.453 回答
1
echo off

REM search .txt files.
for %%f in (*.txt) do (
  REM skip if a .log file with the same name exists.
  if not exist %%~nf.log (

    echo Now executing %%f
    notepad.exe %%f
    REM Terminate the loop after the first succesful file
    goto end

  ) else (
    echo Skipping %%f
  )
)

echo Nothing to process.

:end
pause
于 2012-10-31T14:23:19.740 回答