2024年5月25日发(作者:)
批处理各符号的功能:
1.
echo有两个状态一个是on 一个是off默认的是on 它的
功能是显示当前文件的路径,如果不写on 或者是off的
时候,默认情况下
是打开的即显当前文件的路径,加上off后,所有路径都
不显示,但是echo off这行还能显出来,要让这行也消失
的话就在它们前面
加一个@即@echo off,另外echo命令的另一种用法,可
以直接编辑文本文件,例如:
echo netstat -an >结晶果是在当前目录下生成一个
的文件,双击直接执行这个文件时,就会执行netstat
-an这个命令
。
2.
> 这个字符的意思是将">"前面的内容传递并且覆盖">"
后面的内容,它所起的作用是将运行的回显结果传递到后
面的范围.
例如:中的内容是1113333,执行ipconfig
/all >即将ipconfig /all的内容覆盖原有的
1113333。与这个
符号相似的还有>>它的功能不是覆盖而追加,即将运行
后的内容加到原来的1113333后。
3.
| 这是一个管道传输命令,意思是将上一命令执行的结果
传到下一个命令去处理
例如:
dir c:|find "txt"
以上命令是:查找C:所有,并发现TXT字符串。
||
Usage:第一条命令 || 第二条命令 [|| 第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行正确的命
令后将不执行后面的命令,如果没有出现正确的命令则一
直执行完所有命令
;(只要正确后面的就不执行)
4.
^ 是对特殊符号"<",">","&"的前导字符,在命令中他将
以上3个符号的特殊功能去掉,仅仅只把他们当成符号而
不使用他们的特殊
意义。
例如:
C:>echo ^>ipconfig
结果为: >ipconfig没有追加只是显示出来而
已
5.
& 这个符号允许在一行中使用2个以上不同的命令,当
第一个命令执行失败了,也不影响后边的命令执行
例如:C:>dir d:/p & dir e: /p & dir c: /p
结果是先后执行
6.
&& 这个命令和上边的类似,但区别是,第一个命令失败
时,后边的命令也不会执行
例如:C:>dir w:/p && dir e: /p && dir c: /p 由于电脑
上没有w盘所以显示结果为:系统找不到指定的路径。
这样以来,后面的
两个盘就不执行啦。(当第n个命令失败时此命令后面的
命令将不再执行,也就是说一直执行到失败为止)
7.
"" 双引号允许在字符串中包含空格,进入一个特殊目录
可以用如下方法
cd "program files"
cd progra~1
cd pro*
以上三种方法都可以进入program files这个目录
8.
, 逗号相当于空格,在某些情况下“,”可以用来当做空格使
比如
dir,c:
9.
; 分号,当命令相同时,可以将不同目标用;来隔离,但
执行效果不变,如执行过程中发生错误,则只返回错误报
告,但程序还是
会执行。
比如:
dir c:;d:e:;f:
以上命令相当于
dir c:
dir d:
dir e:
dir f:
但是前面执行的盘不存在的话,后面的命令将不会执行。
例如:C:>dir w:;d: /p;e: /p
结果为:系统找不到指定的路径。
10.在echo的后面加一个点,所起到的作用是显示一空行。
以下范例显示的批处理程序包含前后各有一个空行的三
行消息:
@echo off
echo.
echo This batch program
echo formats and checks
echo new disks
echo.
如果想让打开的批处理命令的标题栏有名字的话可以用
到title这个参数
title filename
">nul 2>nul"可以屏蔽一切屏幕的输出,例如:dir >nul
2>nul这样屏幕上什么都不会输出,也就是没有结果。
1>nul 表示将正确执行目录树的信息禁止输出,2>nul
表示将执行过程中的错误信息禁止输出。
断开网络连接方法有两种:一种是rasphone /h adsl,另一
种是rasdial adsl /d
一般和:是联用的goto跳转的地方入口就是":"。
goto命令的另一种用法一:提前结束程序。在程序中间
使用goto命令跳转到
某一标签,而这一标签的内容却定义为退出。如:
……
goto end
……
:end
dir中有些命令是要牢记的
dir d: /s /p /b (/a这后面还有一些参数像h,r,d,s/d)具体
的可以看帮助
%userprofile%在写批处理时这个相当于C:Documents
and SettingsAdministrator
在结束关键进程的时候,要先结束这个进程,
最好用系统自带的工具taskkill这个关的时
候任何杀毒软件
都没有提示,但是如果换成了用ntsd关的话,卡巴斯基
会报毒,而且这时的explorer会在关闭的一下后马上自
启动,而taskkill就会
一直关着直到等你开启为止。
在使用for 的时候当用到 /d时,那是因为set中有* ?这
两个通配符
shift
1.可替代参数的编号是%o-%9,如果要在一个命令行上
使用超过10个可以被代换的参数,则可使用SHIFT命令
来突破此限制。
2.每当执行sHIFT一次,命令行上的所有参数将向左移动
一位。%1的内容将为%2的内容所取代…,%9内容则
由新的参数取代。
3.%o表示批处理文件本身的名称,永远不变,所以每次
执行时可以在批处理文件使用一次shift就向右移动一位,
例如:
的内容:
@echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift
@echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift
@echo %1 %2 %3 %4 %5 %6 %7 %8 %9
pause
运行
c:>a 1 2 3 4 5 6 7 8 9 10 11(其后有11个参数)
1 2 3 4 5 6 7 8 9 (取到最前面9个参数)
c:>shift (移位)
2 3 4 5 6 7 8 9 10 11(取到另外9个参数)
c:>shift (移位)
3 4 5 6 7 8 9 10 (取到另外9个参数)
在批处理中del /f /s /q可以删除指定目录下的任何文件,
但是不能删除文件夹,rd /s /q不但可以删除指定目录下
的文件夹而且还
可以删除目录下的所有文件,以前总是以为rd只能删除
文件夹,现在才知道用这个命令还以删除文件夹
@echo off @echo off
:top :top
if (%1)==() goto end if (%1)==()goto end
shift shift
echo still running echo still running
goto top goto top
:end :end


发布评论