[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】批处理命令start后面能不能跟for语句?

本帖最后由 ams 于 2015-10-3 01:35 编辑

原本的程序如下,先开百度,4秒后开谷歌,然后重复:
  1. for /l %%i in (1,1,2) do (
  2. start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://www.baidu.com
  3. ping/n 1 /w 4000 1.0.0.0
  4. start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://www.google.com
  5. )
复制代码
现在想把整个语句放入start,也就是start后面跟代码块,意思类似下面的这样
  1. start (
  2. for /l %%i in (1,1,2) do (
  3. start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://www.baidu.com
  4. ping/n 1 /w 4000 1.0.0.0
  5. start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://www.google.com
  6. )
  7. )
复制代码
不管是写成一行,或是加各种引号、&都没成功,现在只好把这段代码存成别的.bat文件,然后在原来的bat里用start xxx.bat调用,不知有没有办法写到一个文件里?如果用call调用那个for,无法开启多线程,无法满足需求

不要自创语法
start是用来启动外部程序的命令,后面要跟代码也应该是start "" cmd /c "代码"
然而这并没有什么卵用

TOP

首先批处理不是VBS。
start 并不能执行内部命令,所以不能这样用。
"()"前面一般不跟命令。

TOP

拼凑下咯
  1. @echo off
  2. start "" cmd /c "for /l %%i in (1,1,2) do (start "" iexplore.exe http://www.baidu.com&ping/n 1 /w 4000 1.0.0.0&start "" iexplore.exe http://www.google.com)"
  3. echo ok
  4. pause
复制代码
1

评分人数

    • ams: 牛,原来是要加cmd /c啊技术 + 1
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表