Я создал файл сценария партии, чтобы обнаружить возникновение определенного события. Тогда я побежал, что пакетный файл в качестве фонового процесса, используя следующий код, сохраняются в файле .vbs:Бесконечный пакетный скрипт останавливается через некоторое время
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
Я не знаю, почему через 1 - 2 часа процесс этой работы исчезнет, или я не» я знаю, почему эта работа не работает непрерывно, без каких-либо перерывов, как ее планировали и планировали делать.
Может ли кто-нибудь сказать мне, почему? И как решить эту проблему? Я имею в виду, как заставить мой скрытый командный файл работать в течение неограниченного периода времени?
Это пакетный файл
@ECHO OFF
set count=0
:LOOP
REM To Check the battery status, providing that 1 is discharging
REM and 2 is connected to the AC
for /F "delims== tokens=1,2" %%a in (
'WMIC Path Win32_Battery Get BatteryStatus /format:textvaluelist.xsl'
) do @if "BatteryStatus"=="%%a" call :DoStaff "%%b"
:DoStaff
IF %~1 EQU 2 (
if %count% NEQ 0 (
set count=0
netsh interface set interface name="Wi-Fi" admin=enabled
netsh wlan connect name=GUEST
REM will delay execution of the next command by 10 seconds
TIMEOUT /T 10
)
)
IF %~1 NEQ 2 (
set /a count=%count%+1
if %count% EQU 1 (
REM Disable the wireless interface
netsh interface set interface name="Wi-Fi" admin=disabled
)
)
TIMEOUT /T 60 /NOBREAK > nul
GOTO :LOOP
Возможно, непрерывная рекурсия заполняет вашу стеке памяти? Просто гадать здесь. Как вы запускаете файл VBS? Они запускают друг друга, или вы используете планировщик задач Windows? – vacip
Я использовал задачу windows schedular для запуска файла .vbs – L22222
О, извините, я думал, что вы перезапускаете пакетный файл снова и снова.Тогда это не так, вы просто запускаете его один раз, правильно? – vacip