for:
FOR在批处理中:
FOR %%变量 IN (集合) DO 命令 [命令参数]
FOR在命令提示符中:
FOR %变量 IN (集合) DO 命令 [命令参数]
注意,这里集合中的()是不能省略的.
例:在c:/123/下里建立俩个文件1.txt,2.txt
并在里面打上内容.
在dos中:
for %f in (c:/123/*.*) do type %f
这条命令可以显示1.txt与2.txt的内容.
在批处理中:
for %%f in (c:/123/*.*) do type %%f
==========================
call的用法:调用别的批处理。
1:先在c:/下建一个2.bat也建一个c:/123.txt
-------------------1.bat
@echo off
echo my programmer
call c:/2.bat
pause
-----------------2.bat
@echo off
echo copy命令开始:
copy c:/123.txt d:/1.txt
pause
------------------
执行结果:
my programmer
copy命令开始
己复制 1个文件
请按任意键继续
--------------
==========================
pause
可以暂停在dos界面上.
==========================
goto
我在c:/下建一个123/1.txt
如果存在则转到:end
if exist c:/123/1.txt goto end
echo An error occurred during formatting.
:end
echo Successfully
pause
============================
if
格式:
IF [NOT] ERRORLEVEL number
command
IF [NOT] string1==string2
command
IF [NOT] EXIST filename
command
-----------------------------------------------
值为0通常用于表示程序正常执行完毕。ERRORLEVEL参数用于测试退出码的值。
在下面这个例子中,当格式化驱动器A中的磁盘时,若出错则会显示一条错误信息。若未出错,则跳过错误信息。
echo off
copy c:/123/1.txt d:/123.txt
if not errorlevel 1 goto end
echo An error occurred during formatting.
:end
echo End of batch program.
pause
-------------------------------
C:/Documents and Settings/Administrator/桌面>echo off
已复制 1 个文件。
End of batch program.
请按任意键继续. . .
--------------------
说明:如果复制成功则返回0 不==1所以goto end 所以只显示End of batch program.
===========================
echo 是显示后面的内容.
rem是隐藏后面的内容.
例:
@echo off
rem This batch program formats and checks new disks.
rem It is named CHECKNEW.BAT.
rem
echo Insert new disk in drive B.
pause
结果为:
Insert new disk in drive B.
=====================
个人自做的一些批处理与网上一些较好的批处理:大家看看吧:
定时关机批处理.bat
内容:
shutdown -r -t 3600 -c "提示消息1小时后关机"
定时关机批处理.把后缀名改为.bat就可以了.然后可以用:shutdown -a 来解除.3600代表3600秒
============
快速启动打开网站程序.bat
explorer.exe http://baidu.com
explorer.exe http://gougou.com
D:/Tencent/QQ.exe
===========================