[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    start "" "D:\Program Files\firefox\firefox.exe" %%i
    set /a n+=1
    echo Number: !n!

    echo %%i
    ping -n 3 127.1 >nul
)
pause

你体会一下这个效果

TOP

回复 5# xinfeng
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4.     start "" "D:\Program Files\firefox\firefox.exe" %%i
  5.     set /a i+=1
  6.     echo Number: !i!
  7.     REM 自定义变量 !i! 和 for循环的控制变量 %%i 是两个不同的东西
  8.     echo %%i
  9.     ping -n 3 127.1 >nul
  10. )
  11. pause
复制代码
这样能解惑吗?

TOP

回复 7# xinfeng


你3楼已经说了,%%i只能在for循环内部使用,不能直接在for循环外部引用。
!i!作为普通的自定义变量,可以在for循环外部引用。

如果仍有疑惑,请把你的代码和你想实现的目标分别发出来看看。

TOP

回复 11# xinfeng


是的,整个括号里的内容都是循环体内。
对的,批处理的 for 循环不用手动到下一个的。因此代码里面 set /a i+=1 没有任何意义

建议看看 for 命令教程吧
http://bbs.bathome.net/thread-31727-1-1.html

TOP

回复 13# xinfeng


对的,两个变量i,通过不同的方式引用会得到不同的值。
教程这东西吧,每隔一段时间复习一遍,总会有不同的体会和收获。

TOP

返回列表