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 に答える