この質問は、Windowsにネイティブで完全に良好な解像度で既に回答されているため、最も互換性があるはずであり、完全に同意します。
また、@ splattneのコメント(実際の答えではありません)に同意しないことも言いたかったのです。他の参照されたスレッドの解決に値するものです。その答えには、別のユーザー(SYSTEM)としてスクリプトを実行することが含まれます。これは、スクリプトのルートアクセス権を与えるのとほとんど同じです。またROBOCOPY
、ネットワークアクセスを必要とする(John Rennieが参照)などのジョブでも失敗します。
私はCMDOW
以前に試したことはありませんが、別の同様の解像度を提供したいと思います。[Windowsにネイティブにインストールされていません]は、ほとんどのバージョンにまだ移植性が高く、NirCmd。
NirCmdは無数のオプションを備えた非常に強力なツールです。その中で最も便利なのは、次のコマンドを実行するだけで非表示のコマンドウィンドウを起動できることです。
c:\path\to\nircmd.exe exec hide "c:\path\to\mybat.bat"
NirCmdコマンドリファレンスのexec
セクションから:
exec [show/hide/min/max] [application + command-line]
アプリケーションを実行し、オプションで実行されたアプリケーションの1つ以上のコマンドラインパラメーターを指定します。[show / hide / min / max]パラメーターは、実行中のアプリケーションを表示するかどうかを指定します。「非表示」が指定されている場合、実行中のアプリケーションはユーザーに表示されません。「max」を指定すると、実行中のアプリケーションウィンドウが最大化されます。「min」を指定すると、実行中のアプリケーションウィンドウが最小化されます。
編集:
私はROBOCOPY
ジョブを実行しようとして、この回答の方法を試しましたが、ネットワークアクセス権限を編集した後でも機能しませんでした。スクリプトをダブルクリックしようとしましたが、動作させることができませんでしたが、昇格したコマンドプロンプトでのみ実行することができました。バッチファイルへのショートカットを作成し、それを管理者として実行し、ダブルクリックして実行できるようにしましたが、最終的にはSYSTEMとして非表示で実行する方法でした(わかっています) -しかしROBOCOPY
、バッチファイルに適切な権限がある限り、それは価値がありますが、で動作します。
編集2:
何らかの理由で、それはSYSTEMとして機能しません(おそらく以前に参照されたネットワークアクセスのもの)- ROBOCOPY
/ Lフラグなしで実際に実行した後にのみこれに気付きました。これは基本的に単なるシミュレーションであり、[明らかに]はありません実際にリモートシステムに接続しますが、最高の権限でバッチファイルを実行し、非表示のボックスをオンにすると、コマンドウィンドウが表示されることなく、ログインユーザーとしてバックグラウンドで実行できます。 。