控制服务我想创建一个.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