Command line 检查目录中的文件后批处理以运行exe

Command line 检查目录中的文件后批处理以运行exe,command-line,batch-file,Command Line,Batch File,我有一个程序,我需要通过命令行运行,我想做一个批处理文件,以节省时间。它查找同一目录中具有特定扩展名的任何文件,然后运行exe来操作该文件。比如: example.exe option1 *.ext 其中.ext是一个文件,其扩展名类型正确。文件类型通常具有不同的文件名,但扩展名始终相同。该选项只是程序知道如何使用的东西,因此现在可以忽略它 诀窍是,我只希望在同一目录中没有另一个文件具有相同的名称但扩展名不同的情况下运行此程序 我想我看到了一些关于能够在批处理文件中使用IF语句的东西,但我不知

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

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

诀窍是,我只希望在同一目录中没有另一个文件具有相同的名称但扩展名不同的情况下运行此程序


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

您可以反复浏览这些文件:

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
for %%x in (*.ext) do (
  if exist %%~n.someotherext example.exe option1 "%%x"
)

谢谢我能够用这个版本使批处理正常工作。这会节省我很多时间!我喜欢它的简单性,但我没有足够的经验使它适合我的需要。我真的很困惑。不过我还是想出了一个解决办法。谢谢你抽出时间来帮助我@AngelaGiese-Jay的回答中添加了一个解释,可能需要几个小时才能出现。