0

特定の場所にあるフォルダー内の特定の .exe ファイルを検索/検索し、その .exe ファイルを実行するのに役立つ .bat ファイルを作成したいと考えています。
例えば

  1. 「\G:\data」などの特定の場所でファイルを検索します。この主要な場所には多くのフォルダーがあり、そのフォルダーには多くのサブフォルダーがあります。.exe ファイルは、これらのサブフォルダーの 1 つと、場所がわからない場所にあります。私だけが .exe ファイルの名前を知っています。
  2. .bat ファイルは、そのファイルを検索して実行する必要があります。

以下の 2 つは、ファイルを見つけて実行することができません。
第1回プログラム

pushd G:\data-a\test
FOR /F "delims=" %F IN ('dir /S /b autorun.exe') DO SET ExePath="%F"
%ExePath%e

2回目のプログラム

for /r G:\data-a\test %a in (autorun.exe) do "%a"

上記の2つの異なるプログラムから、2つの異なる.batファイルを作成するためにメモ帳に入れて、別のファイルを次々と実行しました。しかし、autorun.exe ファイルを見つけて実行することができませんでした。

たとえば、私のautorun.exeファイルの正確な場所は

G:\data-a\test\test1\t1 and G:\data-a\test\test1\t1

ただし、G:\data-a\test の場所には複数のサブフォルダーが存在する場合があります。

そのため、autorun.exe を 1 つずつ実行して、サブフォルダー内のファイルを見つけるのは困難です。プログラムでパス G:\data-a\test を指定すると、すべてのファイルがサブフォルダーに見つかり、自動的に実行されます。

4

2 に答える 2

1

またはコマンドプロンプトからのワンライナー:

for /r g:\data %a in (filename.exe) do "%a"

呼び出し元のディレクトリ パスにスペースが含まれている場合に備えて、%a の引用符を使用しました

于 2012-04-20T19:48:20.960 に答える
1

3 つのライナー (バッチ ファイル内でラップする場合は %%F を使用)。

pushd G:\data
FOR /F "delims=" %F IN ('dir /S /b something.exe') DO SET ExePath="%F"
%ExePath%
于 2012-04-20T11:52:34.160 に答える