0

複数のサブフォルダーで wav ファイルを検索し、各サブフォルダーにコピーした小さなプログラムへの引数として wave ファイルの名前を使用する非常に単純なスクリプトを作成しようとしています。プログラムを呼び出して渡すさまざまなバリエーションを試しました。それに対する引数、それが私の最新バージョンです

 FOR /R F:\database\Testing %%G IN (*.wav) DO start /wait /separate %%~dpGproc_eng_track.exe %%~dpnG

このアプリケーションで必要な proc_eng_track コンポーネントを含むディレクトリが見つかりません のようなエラーが表示されます。proc_eng_track を含むディレクトリがパスにあることを確認してください

問題は、スクリプトが別の PC で正常に実行されていたことです。これは、他の PC で動作していた正確なスクリプトです。

FOR /R C:\database\CAP\Session1\sentences\wav %%G IN (*.wav) DO start "" /wait /separate %%~pG/proc_eng_track.exe %%~pnG

各サブフォルダーに移動してforfilesループを実行すると、プログラムは正常に実行されますが、ファイルの数を考慮すると、ヒントがあれば大変です

4

2 に答える 2

0

プログラムを各フォルダーにコピーする代わりに、システムの PATH 変数をプログラムのメイン ディレクトリに設定してみませんか? これは、さまざまなバージョンの Windows でさまざまな方法で実行できます。単純な Google 検索「Windows で PATH を設定する (どのバージョンでも)」を介して利用できる文献がたくさんあります。

このように、.exe は「グローバルに」認識されているため、.exe を呼び出すだけで、「proc_eng_track コンポーネントを含むディレクトリが見つかりません」というエラーが表示されなくなります。

于 2013-10-05T02:41:55.750 に答える