非常に単純なバッチ ファイルを見てみましょう。
echo hi
pause
これを test.bat として保存します。次に、test.bat へのショートカットを作成します。ショートカットはバッチ ファイルを実行します。バッチ ファイルは "hi" を出力し、期待どおりにキーが押されるのを待ちます。次に、ショートカットのターゲットに引数を追加します。これで、次へのショートカットができました。
%path%\test.bat some args
ショートカットは、以前と同様にバッチ ファイルを実行します。
ここで、ショートカットを管理者として実行します。(ちなみに、これは Windows 7 上にあります。) 右クリック -> [管理者として実行] を使用するか、ショートカットのプロパティに移動して詳細セクションのボックスをオンにします。大丈夫であることを UAC に伝えると、もう一度、ショートカットが期待どおりにバッチ ファイルを実行します。
ここで、ショートカットのターゲットの引数を変更して、二重引用符を追加します。
%path%\test.bat "some args"
ここで、管理者としてショートカットを試してください。今回はうまくいきません!コマンド ウィンドウがポップアップ表示され、すぐに消えてしまい、エラーが表示されません。ショートカットに > test.log 2>&1 を追加してみましたが、この場合はログが作成されません。
管理者としてではなく、同じショートカット (二重引用符を使用) を実行してみてください。バッチファイルを正常に実行します。したがって、二重引用符で囲まれたパラメーターが原因ではなく、管理者として実行されているためではないようです。2つの奇妙な組み合わせです。
また、管理者のコマンド ウィンドウから同じコマンドを実行してみました。これにより、エラーなしで期待どおりにバッチ ファイルが実行されました。コマンド ウィンドウからショートカットを実行すると、新しいコマンド ウィンドウが生成され、フラッシュして消えてしまいました。どうやら問題は、管理者、ショートカット、および二重引用符の組み合わせによって引き起こされているようです。
私は完全に困惑しています、誰か何が起こっているのか分かりますか? 対処法もお願いします。