bugfix> batch-file > 投稿

WINDOWS DEFENDERの問題により、次のことを行う必要があります。

for /r "%appdata%\..\Local\MyProg\2.0" %D IN ("*MyProgram.exe") DO "%~fD

コマンドプロンプトでは完璧に機能しますが、バッチファイルやcmdファイルでは機能しません-なぜですか?

実行可能ファイルをバッチファイルまたは「.cmd」として作成するにはどうすればよいですか?

回答 2 件
  • for を実行するとき  バッチファイルでループする場合は、追加の % を使用する必要があります  事前定義変数で。したがって、次のようになります。

    for /r "%appdata%\..\Local\MyProg\2.0" %%D IN ("*MyProgram.exe") DO "%%~fD
    
    

    for /? を実行して、よく文書化されたヘルプを使用して読むことをお勧めします  cmdlineから。あなたはそれから利益を得ます、保証されています!

  • 再帰的な For  ループはすでに完全なパスを返します。さらに、パス %AppData%\..\Local のシステム変数が既にあります 。

    For /R "%LocalAppData%\MyProg\2.0" %%A In ("*MyProgram.exe") Do "%%A"
    
    

    ニーズによっては、 Start をチェックする価値があるかもしれません  コマンドの使用法、 Start /? 。あなたはその Do Start "" "%%A" を見つけることができます  必要なものです。

あなたの答え