【发布时间】:2016-07-23 16:31:54
【问题描述】:
我有这个批处理文件,它打开 4 个 cmd,然后转到相应的 文件夹并执行一些其他 bat 文件,然后执行 python 脚本。 我基本上想要这个批处理文件
:loop
start cmd.exe /k "cd C:\users\ivan\desktop\folder1 & call run.bat"
start cmd.exe /k "cd C:\users\ivan\desktop\folder2 & call run.bat"
start cmd.exe /k "cd C:\users\ivan\desktop\folder3 & call run.bat"
start cmd.exe /k "cd C:\users\ivan\desktop\folder4 & call run.bat"
goto loop
打开这 4 个 cmd,然后等待大约 30 分钟,然后关闭并再次打开它们,所以它看起来像这样
:loop
start cmd.exe /k "..."
sleep(1800000)
exit
goto loop
有人知道这是否可能吗?
【问题讨论】:
-
有
timeout命令做睡眠; -
“关闭”是指杀死相关任务?如果是这样,您需要一种方法来识别正确的进程(通过
tasklist命令),获取其PID 并将其用于taskkill命令;一种方法是指定一个唯一的窗口标题(通过title命令)并使用tasklist /V和find/findstr... -
@aschipfl 我已经搞定了几乎所有事情,但问题是我不能使用 taskkill,因为每次我重新运行批处理文件时进程 PID 都会改变
-
这就是我谈论窗口标题的原因;您需要为每个循环迭代获取 PID...
标签: batch-file