File 用另一个批处理文件结束一个批处理文件的代码有人可以帮助吗?
我有一个小的批处理程序,用来运行一些批处理文件。我已经设置好运行文件了。只是一个简单的问题: 我有一个准备文件来准备下一批文件。但是,prep文件在循环中运行。我让它在一个循环中运行,这样我就可以为每台机器定制它。我希望它基本上循环10秒,然后关闭。我需要它,所以我的主批处理文件打开准备批处理文件,运行10秒钟,关闭它,然后按顺序运行下一个批处理文件。有没有办法做到这一点?有关更多信息,请参见下面的示例。谢谢 例如:File 用另一个批处理文件结束一个批处理文件的代码有人可以帮助吗?,file,batch-file,prepare,File,Batch File,Prepare,我有一个小的批处理程序,用来运行一些批处理文件。我已经设置好运行文件了。只是一个简单的问题: 我有一个准备文件来准备下一批文件。但是,prep文件在循环中运行。我让它在一个循环中运行,这样我就可以为每台机器定制它。我希望它基本上循环10秒,然后关闭。我需要它,所以我的主批处理文件打开准备批处理文件,运行10秒钟,关闭它,然后按顺序运行下一个批处理文件。有没有办法做到这一点?有关更多信息,请参见下面的示例。谢谢 例如: Launcher folder/prep.bat @echo off star
Launcher folder/prep.bat
@echo off
start prep.bat
//Wait for 10 seconds, then close prep.bat
start launch.bat
如果不清楚
prep.bat
做了什么,或者不知道它为什么需要循环,建议可能会偏离目标
尝试以下结构:
主要蝙蝠:
@ECHO OFF
SETLOCAL
DEL stopprep.txt 2>nul
START wprep.bat
timeout /t 10 >nul
ECHO.>stopprep.txt
:waitprep
IF EXIST stopprep.txt timeout /t 1 >nul& GOTO waitprep
ECHO prep now stopped
Wprep.bat:
@echo off
setlocal enabledelayedexpansion
:loop
set /a delay=2+(%random% %% 7)
timeout /t %delay%
if not exist stopprep.txt goto loop
del stopprep.txt
EXIT
我调用了批处理WPREP.bat
,因为我的测试目录中已经有一个prep.bat
主批处理使用timeout
并使用>nul
抑制其输出。10秒后,它创建一个flagfilestopperep.txt
,然后重复等待1秒,直到文件消失
子批次应弹出并显示2..9秒的倒计时,然后重复,直到出现STOPPREP.TXT
文件-启动后至少10秒。我故意选择不抑制超时
的输出,以便在窗口中显示某些活动
如果您的系统没有安装TIMEOUT
,则ping-n timeoutrequired+1 127.0.0.1>nul
可能会正常工作,最近在标准发行版中重新出现的choice
也可能正常工作
如果子批次未关闭,请检查它是否以
EXIT
语句结束。如果仍无法关闭,请尝试CLS&EXIT
或者,要终止使用TASKKILL:
@ECHO OFF
SETLOCAL
START wprep.bat
timeout /t 10 >nul
FOR /f "tokens=2" %%i IN ('tasklist/v^|fIND /i " - wprep.bat " ' ) DO >NUL TASKKILL /pid %%i
ECHO prep now stopped
如果
WPREP.bat
需要更改以满足您的目的。如果不清楚prep.bat
的功能,或者不知道它需要循环的更多原因,建议可能会偏离目标
尝试以下结构:
主要蝙蝠:
@ECHO OFF
SETLOCAL
DEL stopprep.txt 2>nul
START wprep.bat
timeout /t 10 >nul
ECHO.>stopprep.txt
:waitprep
IF EXIST stopprep.txt timeout /t 1 >nul& GOTO waitprep
ECHO prep now stopped
Wprep.bat:
@echo off
setlocal enabledelayedexpansion
:loop
set /a delay=2+(%random% %% 7)
timeout /t %delay%
if not exist stopprep.txt goto loop
del stopprep.txt
EXIT
我调用了批处理WPREP.bat
,因为我的测试目录中已经有一个prep.bat
主批处理使用timeout
并使用>nul
抑制其输出。10秒后,它创建一个flagfilestopperep.txt
,然后重复等待1秒,直到文件消失
子批次应弹出并显示2..9秒的倒计时,然后重复,直到出现STOPPREP.TXT
文件-启动后至少10秒。我故意选择不抑制超时
的输出,以便在窗口中显示某些活动
如果您的系统没有安装TIMEOUT
,则ping-n timeoutrequired+1 127.0.0.1>nul
可能会正常工作,最近在标准发行版中重新出现的choice
也可能正常工作
如果子批次未关闭,请检查它是否以
EXIT
语句结束。如果仍无法关闭,请尝试CLS&EXIT
或者,要终止使用TASKKILL:
@ECHO OFF
SETLOCAL
START wprep.bat
timeout /t 10 >nul
FOR /f "tokens=2" %%i IN ('tasklist/v^|fIND /i " - wprep.bat " ' ) DO >NUL TASKKILL /pid %%i
ECHO prep now stopped
其中,
WPREP.bat
需要根据您的目的进行更改。在prep.bat
中添加此项
@Echo Off
title Prep.bat
然后在控制批处理文件中添加
start "" prep.bat
ping -n 10 localhost >nul
taskkill /f /im cmd.exe /fi "windowtitle eq Prep.bat"
在
prep.bat
中添加此
@Echo Off
title Prep.bat
然后在控制批处理文件中添加
start "" prep.bat
ping -n 10 localhost >nul
taskkill /f /im cmd.exe /fi "windowtitle eq Prep.bat"
taskkill
将关闭prep.bat,而ping-n10localhost>nul
将给您10秒的延迟<代码>超时在以后的Windows上可用。@foxidrive感谢您的帮助,但我不知道如何使用taskkill。请您再解释一下好吗?taskkill
将关闭prep.bat,ping-n 10 localhost>nul
将给您十秒钟的延迟<代码>超时在以后的Windows上可用。@foxidrive感谢您的帮助,但我不知道如何使用taskkill。你能再解释一下吗?谢谢!计时器会像你说的那样倒计时,但prep.bat不会关闭。我一直在尝试使用taskkill,但我认为您不能将其用于.bat文件。有没有办法让主批处理删除prep.bat文件?谢谢!计时器会像你说的那样倒计时,但prep.bat不会关闭。我一直在尝试使用taskkill,但我认为您不能将其用于.bat文件。有没有办法让主批处理删除prep.bat文件?非常感谢。成功了。我喜欢堆栈溢出。在正常情况下,我只需登录并提出一个问题,在大约10分钟内,我就有3到4个有用的答案!非常感谢你。成功了。我喜欢堆栈溢出。在正常情况下,我只需登录并提出一个问题,在大约10分钟内,我就有3到4个有用的答案!