Cur*_*Dev 2 windows batch-file windows-10
我正在使用 Windows 10 专业版。我想创建一个批处理文件:
到目前为止,我想出了以下代码来写入我的批处理文件:
@echo off
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
ping -n 1 -w 60
Run Code Online (Sandbox Code Playgroud)
但这没有任何作用。另外我如何实现 3 & 4?
GOTO尝试以下批次:
@echo off
set loopCount=50
:loop
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
GOTO :loop
Run Code Online (Sandbox Code Playgroud)
:loop定义一个GOTO点。timeout /t 60 等待 60 秒taskkill /im firefox.exe 将杀死 Firefox 进程GOTO :loop 将重新路由回脚本的开头。注意:这将杀死所有正在运行的 Firefox 进程。我认为 Firefox 通常一次只允许一个。
GOTO为了针对特定次数的迭代执行此操作,您可以使用set /a对 loopCount 变量进行一些数学运算。
@echo off
set loopCount=50
:loop
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
GOTO :loop
Run Code Online (Sandbox Code Playgroud)
set /a loopCount=%loopCount%-1每次循环运行时,该行都会将 loopCount 的值减一。该if %loopCount%==0 GOTO:EOF行将在达到 0 时退出脚本。
GOTO:EOF 表示“转到文件末尾”,这将绕过文件中的任何其他代码。
FOR /l另一种解决方案是使用FOR带有/l开关的循环,但是在使用嵌套循环时我遇到了这个问题,所以我通常坚持使用GOTO像这样的简单批处理文件的选项。不过,我希望这会在将来对某人有所帮助。
@echo off
for /l %%x in (1, 1, 50) do (
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
)
Run Code Online (Sandbox Code Playgroud)
分解FOR /l命令: