尝试从批处理文件 运行 VBS MsgBox
Trying to Run VBS MsgBox from Batch File
我有一个包含以下代码的批处理文件:
@echo off
:START
ping 192.168.9.19 -n 1 -w 1800000 > nul 2>&1
if errorlevel 1 taskkill /F /IM excel.exe > nul 2>&1
Timeout /t 1 > nul 2>&1
@set errorlevel = 0
GOTO START
我需要在错误级别 1 上添加一行以打开 vbs 消息框 MsgBox.vbs
我尝试添加以下行,但没有成功:
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs" < nul 2>&1
我是这样添加的:
@echo off
:START
ping 192.168.9.19 -n 1 -w 1800000 > nul 2>&1
if errorlevel 1 taskkill /F /IM excel.exe > nul 2>&1
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs"
Timeout /t 1 > nul 2>&1
@set errorlevel = 0
GOTO START
如果有人可以帮助我更正代码以便弹出消息框,我将不胜感激。当我 运行 一个只有该代码行的 bat 文件时,会弹出错误消息,但是当我尝试将它添加到网络代码时,它不起作用
参数-w 1800000
告诉ping命令在无法到达主机时等待1800000毫秒(=30分钟)失败。
如果你有足够的耐心,等半个小时,你就会看到这个消息框。其实ping成功你也会看到,因为调用wscript命令的那一行是无条件执行的。如果您有多个只想在错误级别 1 的条件下执行的命令,则必须将它们包含在括号中。
改编代码
- 仅在 ping 中使用 10 秒超时
- 仅在 ping 失败时显示 Messagebox
- 您不需要重置错误级别。这会自动发生
- 在 ping 尝试之间使用 10 秒的等待时间来节省计算资源
在无法访问ip的情况下执行,需要等待10秒,才会出现提示框
@echo off
:START
REM Try to ping with timeout of 10 seconds
ping 192.168.9.19 -n 1 -w 10000 > nul 2>&1
REM When ping fails, kill excel and show messagebox
if errorlevel 1 (
taskkill /F /IM excel.exe > nul 2>&1
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs"
)
REM Wait 10 seconds between ping attempts
Timeout /t 10 > nul 2>&1
GOTO START
我有一个包含以下代码的批处理文件:
@echo off
:START
ping 192.168.9.19 -n 1 -w 1800000 > nul 2>&1
if errorlevel 1 taskkill /F /IM excel.exe > nul 2>&1
Timeout /t 1 > nul 2>&1
@set errorlevel = 0
GOTO START
我需要在错误级别 1 上添加一行以打开 vbs 消息框 MsgBox.vbs
我尝试添加以下行,但没有成功:
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs" < nul 2>&1
我是这样添加的:
@echo off
:START
ping 192.168.9.19 -n 1 -w 1800000 > nul 2>&1
if errorlevel 1 taskkill /F /IM excel.exe > nul 2>&1
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs"
Timeout /t 1 > nul 2>&1
@set errorlevel = 0
GOTO START
如果有人可以帮助我更正代码以便弹出消息框,我将不胜感激。当我 运行 一个只有该代码行的 bat 文件时,会弹出错误消息,但是当我尝试将它添加到网络代码时,它不起作用
参数-w 1800000
告诉ping命令在无法到达主机时等待1800000毫秒(=30分钟)失败。
如果你有足够的耐心,等半个小时,你就会看到这个消息框。其实ping成功你也会看到,因为调用wscript命令的那一行是无条件执行的。如果您有多个只想在错误级别 1 的条件下执行的命令,则必须将它们包含在括号中。
改编代码
- 仅在 ping 中使用 10 秒超时
- 仅在 ping 失败时显示 Messagebox
- 您不需要重置错误级别。这会自动发生
- 在 ping 尝试之间使用 10 秒的等待时间来节省计算资源
在无法访问ip的情况下执行,需要等待10秒,才会出现提示框
@echo off
:START
REM Try to ping with timeout of 10 seconds
ping 192.168.9.19 -n 1 -w 10000 > nul 2>&1
REM When ping fails, kill excel and show messagebox
if errorlevel 1 (
taskkill /F /IM excel.exe > nul 2>&1
wscript "C:\Users\James.Jayesuria\Desktop\MsgBox.vbs"
)
REM Wait 10 seconds between ping attempts
Timeout /t 10 > nul 2>&1
GOTO START