我怎么能脚本一个蝙蝠或cmd停止和启动一个服务可靠的错误检查(或让我知道它不成功的原因)?
当前回答
我只是使用上面Jonas的例子,创建了一个完整的0到24个错误级别的列表。另一篇文章是正确的,网络启动和网络停止只使用errorlevel 0表示成功,2表示失败。
但这对我来说很管用:
net stop postgresql-9.1
if %errorlevel% == 2 echo Access Denied - Could not stop service
if %errorlevel% == 0 echo Service stopped successfully
echo Errorlevel: %errorlevel%
将停止改为开始并反向工作。
其他回答
SC可以用服务做任何事情……启动,停止,检查,配置,和更多…
您可以使用NET START命令,然后检查ERRORLEVEL环境变量,例如。
net start [your service]
if %errorlevel% == 2 echo Could not start service.
if %errorlevel% == 0 echo Service started successfully.
echo Errorlevel: %errorlevel%
免责声明:这是我从脑子里写出来的,但我认为它会起作用。
下面是Windows 10使用批量启动系统还原的命令:
sc config swprv start= Auto
你可能也会喜欢这些命令:
更改注册表值为自动启动系统恢复 REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" /v DisableSR /t REG_DWORD /d 0 /f 创建系统还原点 Wmic.exe /Namespace:\root\default Path SystemRestore Call CreateRestorePoint "djibe saved your PC", 100,12 修改“系统恢复”磁盘使用率 vssadmin调整shadowstorage /for=C: /on=C: /maxsize=10%
享受
手动重启服务是ok -服务。msc有“重新启动”按钮,但在命令行中,sc和net命令都没有“重新启动”开关,如果在cmd/bat文件中计划重新启动,服务将立即停止和启动,有时它会得到一个错误,因为服务还没有停止,它需要一段时间来关闭东西。
这可能会产生一个错误: sc停止 sc开始
插入超时是个好主意,我使用ping(它每1秒ping一次): sc停止 Ping localhost -n 60 sc开始
对我来说,使用net start和net stop的返回代码似乎是最好的方法。试着看看这个:Net Start返回代码。
推荐文章
- 如何验证批处理文件中是否存在一个文件?
- 如何循环通过文件匹配通配符在批处理文件
- 异步运行Windows批处理文件命令
- 我怎么能显示线在公共(反向差异)?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- Git显示“警告:永久添加到已知主机列表”
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 如何在文本文件中替换${}占位符?
- 如何在批处理文件中请求管理员访问
- 有没有替换Windows (Visual C)的unistd.h ?
- 如何在Mac OS Lion上从命令行启动MySQL服务器?
- 从Windows批处理文件设置系统环境变量?
- 在批处理文件中处理子字符串的最佳方法是什么?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?