「管理者として実行」するバッチファイルに括弧をつけてはいけない

以前のネットワーク設定を変更するバッチファイル。
管理者権限で実行する必要がある。

しかし、「管理者として実行」で実行しても動いている様子がない。
単なるダブルクリックで一般ユーザとして実行すると動いている。(pauseを入れて確認)

管理者としてコマンドプロンプトを開いてバッチファイルを実行すると、確かに動くことから、構文エラーではない。

色々調べて分かったのは結局ファイル名だった。
ファイル名に括弧をつけてhoge(test).batのようにしていたのが原因。
カッコを外して管理者として実行したら何の問題もなく実行できた。

参考にしたサイト
“(“を含むパス上にあるbatファイルを、「管理者として実行」で正常実行できない

管理者として実行する場合と普通に実行する場合で、コマンド実行時の引数のファイル名をそのまま扱うか、クォーテーションで囲って扱うかの違いがあるようだ。もちろんそれが”仕様”である。

まあバッチファイルにはカッコを付けないようにしておくのが吉だ。

コメント

タイトルとURLをコピーしました