《win2000命令行方式批处理BAT文件技巧》由会员分享,可在线阅读,更多相关《win2000命令行方式批处理BAT文件技巧(7页珍藏版)》请在金锄头文库上搜索。
1、win2000命令行方式批处理BAT文件技巧(ZT) 文章结构 1. 所有内置命令的帮助信息 2. 环境变量的概念 3. 内置的特殊符号(实际使用中间注意避开) 4. 简单批处理文件概念 5. 附件1 tmp.txt 6. 附件2 sample.bat # 1. 所有内置命令的帮助信息 # ver cmd /? set /? rem /? if /? echo /? goto /? for /? shift /? call /? 其他需要的常用命令 type /? find /? findstr /? copy /? _ 下面将所有上面的帮助输出到一个文件 echo ver tmp.txt v
2、er tmp.txt echo cmd /? tmp.txt cmd /? tmp.txt echo rem /? tmp.txt rem /? tmp.txt echo if /? tmp.txt if /? tmp.txt echo goto /? tmp.txt goto /? tmp.txt echo for /? tmp.txt for /? tmp.txt echo shift /? tmp.txt shift /? tmp.txt echo call /? tmp.txt call /? tmp.txt echo type /? tmp.txt type /? tmp.txt e
3、cho find /? tmp.txt find /? tmp.txt echo findstr /? tmp.txt findstr /? tmp.txt echo copy /? tmp.txt copy /? tmp.txt type tmp.txt _ # 2. 环境变量的概念 # _ C:Program Filesset ALLUSERSPROFILE=C:Documents and SettingsAll Users CommonProgramFiles=C:Program FilesCommon Files COMPUTERNAME=FIRST ComSpec=C:WINNTsy
4、stem32cmd.exe NUMBER_OF_PROCESSORS=1 OS=Windows_NT Os2LibPath=C:WINNTsystem32os2dll; Path=C:WINNTsystem32;C:WINNT;C:WINNTsystem32WBEM PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel PROCESSOR_LEVEL
5、=6 PROCESSOR_REVISION=0605 ProgramFiles=C:Program Files PROMPT=$P$G SystemDrive=C: SystemRoot=C:WINNT TEMP=C:WINNTTEMP TMP=C:WINNTTEMP USERPROFILE=C:Documents and SettingsDefault User windir=C:WINNT _ path: 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到 %windir%system32. 这个目录里面. 一般就可以自动搜索到. 语法: copy mychenxu.exe %
6、windir%system32. 使用点(.) 便于一目了然 对环境变量的引用使用(英文模式,半角)双引号 %windir% 变量 %windir% 二次变量引用. 我们常用的还有 %temp% 临时文件目录 %windir% 系统目录 %errorlevel% 退出代码 输出文件到临时文件目录里面.这样便于当前目录整洁. 对有空格的参数. 你应该学会使用双引号() 来表示比如对porgram file文件夹操作 C:dir p* C: 的目录 2000-09-02 11:47 2,164 PDOS.DEF 1999-01-03 00:47 Program Files 1 个文件 2,164
7、字节 1 个目录 1,505,997,824 可用字节 C:cd pro* C:Program Files C: C:cd Program Files C:Program Files # 3. 内置的特殊符号(实际使用中间注意避开) # 微软里面内置了下列字符不能够在创建的文件名中间使用 con nul aux / | | & * You can use most characters as variable values, including white space. If you use the special characters , |, &, or , you must preced
8、e them with the escape character () or quotation marks. If you use quotation marks, they are included as part of the value because everything following the equal sign is taken as the value. Consider the following examples: (大意: 要么你使用作为前导字符表示.或者就只有使用双引号了) To create the variable value new&name, type:
9、set varname=new&name To create the variable value new&name, type: set varname=new&name The ampersand (&), pipe (|), and parentheses ( ) are special characters that must be preceded by the escape character () or quotation marks when you pass them as arguments. find Pacific Rim nwtrade.txt IF EXIST fi
10、lename. (del filename.) ELSE echo filename. missing 创建一个文件 追加到一个文件后面 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示 对特殊符号( aaa echo 1231231 bbb () 包含命令 (echo aa & echo bb) , 和空格一样的缺省分隔符号. ; 注释,表示后面为注释 : 标号作用 | 管道操作 & Usage:第一条命令 & 第二条命令 & 第三条命令. 用这种方法可以同时执行多条命令,而不管命令是否执行成功 dir c:*.exe & dir d:*.exe & dir
11、e:*.exe & Usage:第一条命令 & 第二条命令 & 第三条命令. 当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令; | Usage:第一条命令 | 第二条命令 | 第三条命令. 当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令; 常用语法格式 IF NOT ERRORLEVEL number command para1 para2 IF NOT string1=string2 command para1 para2 IF NOT EXIST filename command para1 para2 IF EXIST
12、 filename command para1 para2 IF NOT EXIST filename command para1 para2 IF %1= goto END IF %1=net goto NET IF NOT %2=net goto OTHER IF ERRORLEVEL 1 command para1 para2 IF NOT ERRORLEVEL 1 command para1 para2 FOR /L %i IN (start,step,end) DO command command-parameters %i FOR /F eol=; tokens=2,3* delims=, %i in (myfile.txt) do echo %i %j %k 按照字母顺序 ijklmnopq依次取参数. eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。