私は別のサーバーを選択し、サービスの停止/開始などの操作を実行するオプションを与える.batファイルを作成したいと思います。これまでのところ、システムエラー67が発生しました。ネットワーク名が見つかりません。これを行うより良い方法はありますか?ポップアップオプションからサーバー名を選択することができます。複数のサーバーからサービスを制御するためのバッチファイルの作成
@ECHO OFF
CLS
ECHO 1.server1
ECHO 2.server2
ECHO 3.server3
ECHO 4.server4
ECHO.
set /p server_name=Enter server name:
IF %server_name%== 1 GOTO app1
IF %server_name%== 2 GOTO app2
IF %server_name%== 3 GOTO app3
IF %server_name%== 4 GOTO app4
:app1
call:restart "server1"
GOTO End
:app2
call:restart "server2"
GOTO End
:app3
call:restart "server3"
GOTO End
:app4
call:restart "server4"
GOTO End
:restart
net use \\%~1/User:%username%
SC \\%~1 Stop service
timeout 10
SC \\%~1 Start service
GOTO End
あなたのよく説明された説明のためにマイケルマイケル。それは非常に有益で、期待どおりに動作します。もう一つ質問があります。私はちょうど興味があります、私のコードでなぜ関数が正しい引数を渡していません。 \%1と書かれているところでは、 "サーバ名"を再起動機能に渡すことを期待しています。私が紛失しているものはありますか? – user2410266
@ user2410266考えられるエラー: 'net use \\%〜1/User:%username%'行には、** 1 **と**/**の間にスペースが必要です。 'net use'コマンドをスキップするだけで動作するかもしれません。 'SC \\%〜1サービスを停止する - タイムアウト10 - SC \\%〜1開始サービスは既にジョブを実行している可能性があります。 – MichaelS