windows 被锁定时,我的批处理文件无法继续
My Batch file wont continue while windows is locked
我有一个批处理文件调用其他程序打开和 运行。
我希望在我的计算机处于锁定状态时将此批处理文件 运行 过夜。我使用 Windows Task Scheduler 来 运行 这个程序过夜。批处理文件 运行 没问题,除非它达到 start Check1.msl
。然后 windows 似乎无法找到该文件。当我解锁计算机并手动执行批处理文件时,查找和 运行ning 那些文件没有问题。
这是我的代码:
@echo off
Start Check1.msl
PING 1.1.1.1 -w 1000 -n 1
start passwordinjector.vbs
IF EXIST C:\Users\Username\Desktop\New folder\check.rpt (
taskkill /IM MAINRDW.exe >nul
PING 1.1.1.1 -w 500 -n 1
Start Trial.msl
PING 1.1.1.1 -w 1000 -n 1
start passwordinjector.vbs
Del C:\Users\Username\Desktop\New folder\check.rpt
) ELSE (
PING 1.1.1.1 -w 500 -n 1
taskkill /IM MAINRDW.exe >nul
)
编辑:
我已经试用了一段时间了。为了测试它,我只是使用 Windows Task Scheduler 来 运行 它一分钟,然后锁定我的计算机并等待 Scheduler 启动。
这是我目前的情况:
@echo off
cd /d "%~dp0"
PING 1.1.1.1 -w 2000 -n 1
echo starting the check1 msl file
Start Check1.msl
PING 1.1.1.1 -w 2000 -n 1
echo starting the password injector file
WScript //B passwordinjector.vbs
IF EXIST C:\Users\USERNAME\Desktop\New folder\check.rpt (
echo check if the check exists
taskkill /IM MAINRDW.exe /f >nul 2>&1
PING 1.1.1.1 -w 2000 -n 1
echo It does exist, so run the next Trial msl
Start Trial.msl
PING 1.1.1.1 -w 3000 -n 1
WScript //B passwordinjector.vbs
Del C:\Users\USERNAME\Desktop\New folder\check.rpt
) ELSE (
PING 1.1.1.1 -w 1000 -n 1
it doesnt exits
taskkill /IM MAINRDW.exe /f >nul 2>&1
)
exit
很难对批处理文件进行故障排除。如果有人有任何建议,我将不胜感激。通过反复试验,我发现(仍然不确定)它没有执行 .vbs 脚本。所以我从 Microsoft's developer network 在线查找并得到语法 WScript //B
。
编辑2:
我在代码中加入了一个 pause
来分解它并确保它在做它应该做的事情。不是。
Check1.msl
会吐出一个名为check.rpt
的文件。当我手动 运行 时,批处理文件暂停 - check.rpt
在那里。我安排任务并锁定我的电脑。当我重新登录时,msl 程序已打开并且 cmd 提示符处于暂停状态但没有 check.rpt
文件。
开头是这样的:
@ECHO OFF
PUSHD "%~dp0
ECHO CD is now %CD%
PING 1.1.1.1 -w 2000 -n 1
echo starting the check1 msl file
DIR Check1.msl
Start Check1.msl
PING 1.1.1.1 -w 2000 -n 1
echo starting the password injector file
WScript //B passwordinjector.vbs
pause
我试过 cscript passwordinjector.vbs
没用。
.bat 脚本可以使当前工作目录成为它所在的目录:
PUSHD "%~dp0"
退出前记得POPD。
@ECHO OFF
PUSHD "%~dp0"
ECHO CD is now %CD%
DIR Check1.msl
START Check1.msl
...
看来问题出在VBScript 上。我使用 .sendkey
来注入密码。这在计算机锁定时受到限制;所以我运气不好。
我有一个批处理文件调用其他程序打开和 运行。
我希望在我的计算机处于锁定状态时将此批处理文件 运行 过夜。我使用 Windows Task Scheduler 来 运行 这个程序过夜。批处理文件 运行 没问题,除非它达到 start Check1.msl
。然后 windows 似乎无法找到该文件。当我解锁计算机并手动执行批处理文件时,查找和 运行ning 那些文件没有问题。
这是我的代码:
@echo off
Start Check1.msl
PING 1.1.1.1 -w 1000 -n 1
start passwordinjector.vbs
IF EXIST C:\Users\Username\Desktop\New folder\check.rpt (
taskkill /IM MAINRDW.exe >nul
PING 1.1.1.1 -w 500 -n 1
Start Trial.msl
PING 1.1.1.1 -w 1000 -n 1
start passwordinjector.vbs
Del C:\Users\Username\Desktop\New folder\check.rpt
) ELSE (
PING 1.1.1.1 -w 500 -n 1
taskkill /IM MAINRDW.exe >nul
)
编辑:
我已经试用了一段时间了。为了测试它,我只是使用 Windows Task Scheduler 来 运行 它一分钟,然后锁定我的计算机并等待 Scheduler 启动。
这是我目前的情况:
@echo off
cd /d "%~dp0"
PING 1.1.1.1 -w 2000 -n 1
echo starting the check1 msl file
Start Check1.msl
PING 1.1.1.1 -w 2000 -n 1
echo starting the password injector file
WScript //B passwordinjector.vbs
IF EXIST C:\Users\USERNAME\Desktop\New folder\check.rpt (
echo check if the check exists
taskkill /IM MAINRDW.exe /f >nul 2>&1
PING 1.1.1.1 -w 2000 -n 1
echo It does exist, so run the next Trial msl
Start Trial.msl
PING 1.1.1.1 -w 3000 -n 1
WScript //B passwordinjector.vbs
Del C:\Users\USERNAME\Desktop\New folder\check.rpt
) ELSE (
PING 1.1.1.1 -w 1000 -n 1
it doesnt exits
taskkill /IM MAINRDW.exe /f >nul 2>&1
)
exit
很难对批处理文件进行故障排除。如果有人有任何建议,我将不胜感激。通过反复试验,我发现(仍然不确定)它没有执行 .vbs 脚本。所以我从 Microsoft's developer network 在线查找并得到语法 WScript //B
。
编辑2:
我在代码中加入了一个 pause
来分解它并确保它在做它应该做的事情。不是。
Check1.msl
会吐出一个名为check.rpt
的文件。当我手动 运行 时,批处理文件暂停 - check.rpt
在那里。我安排任务并锁定我的电脑。当我重新登录时,msl 程序已打开并且 cmd 提示符处于暂停状态但没有 check.rpt
文件。
开头是这样的:
@ECHO OFF
PUSHD "%~dp0
ECHO CD is now %CD%
PING 1.1.1.1 -w 2000 -n 1
echo starting the check1 msl file
DIR Check1.msl
Start Check1.msl
PING 1.1.1.1 -w 2000 -n 1
echo starting the password injector file
WScript //B passwordinjector.vbs
pause
我试过 cscript passwordinjector.vbs
没用。
.bat 脚本可以使当前工作目录成为它所在的目录:
PUSHD "%~dp0"
退出前记得POPD。
@ECHO OFF
PUSHD "%~dp0"
ECHO CD is now %CD%
DIR Check1.msl
START Check1.msl
...
看来问题出在VBScript 上。我使用 .sendkey
来注入密码。这在计算机锁定时受到限制;所以我运气不好。