1

非常感谢您帮助我让-弗朗索瓦·法布尔(Jean-François Fabre)解决了问题,有人和我一起思考让我有动力继续自己解决问题!

我最终做的是使用一个计时器脚本,它首先启动扫描脚本,在暂停 900 秒后,计时器继续打开一个 vbs 脚本,该脚本关闭 cmd 并再次打开计时器以再进行 15 分钟循环。

如何用另一个批处理文件关闭一个批处理文件

C:\pokemongo-api-demo-maps>taskkill timedlocator 错误:无效的参数/选项 - 'timedlocator'。键入“TASKKILL /?” 供使用。

目前使用的运行脚本每 15 秒启动一次批处理文件(测试)它不会关闭批处理脚本但是我试过了

taskkill/im cmd.exe

taskkill/im timedlocator.bat

timedlocator 给出错误,并且 cmd 关闭运行脚本以及需要重新启动它,我似乎无法关闭特定的 cmd 窗口而不关闭另一个,我尝试过的一个解决方案是使这个计时器关闭脚本 VBS 并使用它在重新启动之前一起关闭 CMD,但我不知道在 VBS 中使用什么命令

原帖

所以基本上我有一个脚本可以扫描 pokemon go 中的一个区域,不幸的是它几乎不稳定,所以要解决这个问题,我需要大约每 15 分钟重新启动一次,我已经尝试了一些事情,但最终卡住了,因为我对编码不是很熟悉,

原始启动脚本脚本:

 @echo off
 set /p UserInputPath= Set Location-
 C:\Python27\python main.py -u name -p pass -l "%UserInputPath%"

这调用了完成所有工作的实际程序,经过一些研究后我发现了这个如何创建批处理文件计时器以全天执行/调用另一个批处理 并将其添加到脚本的开头

start timer.bat

这将打开第二个脚本以在计时器后关闭并重新启动

    TIMEOUT /T 15 /NOBREAK
taskkill timedlocator
start timedlocator.bat

这给我留下了两个我无法弄清楚的问题

  • 如何在不关闭计时器 CMD 的情况下关闭第一批?我试过搞乱taskkill并一起关闭cmd,但这使得它无法再次启动
  • 如何自动将固定的街道名称输入到第一个文件中?我试图用街道名称替换用户输入路径,但这似乎不起作用。

    setlocation-此时您输入街道名称,它会将其发送到定位器并开始工作,我试图实现的是绕过第一步并始终发送相同的名称。

对此的任何帮助将不胜感激,我已经搞砸了大约 2 个小时了,我已经取得了一些进展,但是由于我有限的计算机技能,我似乎在这里陷入了死胡同

4

1 回答 1

1

不确定你在问,但无论如何我都会尝试回答:

如何在不关闭计时器 CMD 的情况下关闭第一批?我试过弄乱taskkill并一起关闭cmd,但这使得它无法再次启动

你把它弄错了:创建一个名为runner.bat例如的脚本并把它(未经测试)

:loop
start timerlocator.bat
timeout /T 900 /NOBREAK
taskkill /F /IM "python.exe"
goto loop

您的主脚本在后台启动,并且每 15 分钟被杀死并重新启动(您的 15 值是错误的,超时需要几秒钟)。

如何自动将固定的街道名称输入到第一个文件中?我试图用街道名称替换用户输入路径,但这似乎不起作用。

=> 删除 /P 选项并设置实际值。

set /p UserInputPath=type_your_value_here
于 2016-07-20T10:40:07.910 回答