标题:Windows 命令符号的问题
作者:panhong1986 | 时间:2006-10-28 23:46 | 标题:Windows 命令符号的问题
学习DOS的过程中, 发现在看一些例子的时候, 很多人都会用到不用的符号, 而且变化很多, 有时候命令都懂, 就被卡在这里符号上, 你们能不能把这些符号集中的解释一下. 希望能全一些, 或者帮我找个地方能学习.. 谢谢了..
修改标题,以符合主题内容。原标题:DOS 符号的问题
——管理员
作者:electronixtar | 时间:2006-10-29 00:00
ntcmds.chm
作者:panhong1986 | 时间:2006-10-29 13:02
OH,谢谢..
作者:lxmxn | 时间:2006-10-29 13:47
Re : panhong1986
下面是对你的主题的回复,同时也算是自己对批处理学习过程中遇到的字符的作用的总结吧.
下面的总结,因本人能力和经验所限,因此难免会有写错的或者遗漏的地方,如果有问题,欢迎你以及大伙批评指正.下面的写的并不全面,以后再慢慢的补充上来.
[注]:\\后面的内容为注释;另外,感谢 qzwqzw 对此资料的补充。
__________________________________________________________________________________________
@
\\隐藏命令的回显。
~
\\在for中表示使用增强的变量扩展;
在set中表示使用扩展环境变量指定位置的字符串;
在set/a中表示按位取反。
%
\\使用两个%包含一个字符串表示引用环境变量。比如一个%time%可以扩展到当前的系统时间;
单个%紧跟0-9的一个数字表示引用命令行参数;
用于for中表示引用循环变量;
连续的两个%表示执行时脱为一个%。
^
\\取消转义字符,即将所有转义字符的转义作用关闭。比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;
在set/a中是按位异;
在findstr/r的中表示不匹配指定的字符集。
&
\\命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令;
在set/a中是按位与。
*
\\代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt";
在set/a中是乘法。比如"set/a x=4*2",得到的结果是8;
在findstr/r中表示将前一个字符多次匹配。
()
\\命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;
-
\\范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符;
在findstr/r中连接两个字符表示匹配范围;
-跟在某些命令的/后表示取反向的开关。
+
\\主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了;
在set/a中是加法。
|
\\管道符。就是将上一个命令的输出,作为下一个命令的输入."dir /a/b | more"就可以逐屏的显示dir命令所输出的信息;
在set/a中是按位或;
在帮助文档中表示其前后两个开关、选项或参数是二选一的。
:
\\标签定位符,可以接受goto命令所指向的标签。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"变迁后面来执行批处理命令了。
" "
\\界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号;
在for/f中将表示它们包含的内容当作字符串分析;
在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容;
在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。
/
\\表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数;
在set/a中表示除法。
>
\\命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去;
在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。
>>
\\命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖。
<
\\将其后面的文件的内容作为其前面命令的输入。
在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。
=
\\赋值符号,用于变量的赋值。比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a";
在set/a中表示算术运算,比如"set /a x=5-6*5"。
\
\\这个"\"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:\windows\system32下,那么你"dir \"的话,就相当与"dir c:\"
在findstr/r中表示正则转义字符。
''
在for/f中表示将它们包含的内容当作命令行执行并分析其输出;
在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。
.
\\
在路径的\后紧跟或者单独出现时:
一个.表示当前目录;
两个.表示上一级目录;
在路径中的文件名中出现时:
最后的一个.表示主文件名与扩展文件名的分隔。
&&
\\连接两个命令,当&&前的命令成功时,才执行&&后的命令;
||
\\连接两个命令,当||前的命令失败时,才执行||后的命令。
$
\\在findstr命令里面表示一行的结束。
``
在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。
在帮助文档表示其中的开关、选项或参数是可选的;
在findstr/r中表示按其中指定的字符集匹配。
?
\\在findstr/r中表示在此位置匹配一个任意字符;
?在路径中表示在此位置通配任意一个字符;
紧跟在/后表示获取命令的帮助文档。
!
\\当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用;
在set /a中表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。
__________________________________________________________________________________________
①:第四次补充资料于2006.10.30.
②:第四次补充资料于2006.11.08.
③:第四次补充资料于2006.01.24.
④:第四次补充资料于2007.03.13.
[ Last edited by lxmxn on 2007-4-5 at 01:37 PM ]
作者:panhong1986 | 时间:2006-10-29 14:25
WOW.... THANK U SO MUCH,DUDE
作者:panhong1986 | 时间:2006-10-29 14:30
难得有这么详细的解释, 等你写完全部的我把它们复制下来.
作者:redtek | 时间:2006-10-29 20:01
lxmxn写得真详细!加10分~:)
作者:hxuan999 | 时间:2006-11-23 06:40
努力就有回报.呵呵
作者:love200052 | 时间:2006-11-26 09:13
写的很好!多谢lxmxn!
作者:ynjzlzd | 时间:2006-12-05 21:39
麻烦楼上的高手抽空补充,我们在耐心等待.
作者:23985940 | 时间:2006-12-06 02:04
在这里真是学到东东了。高手 真是多呀!
作者:lxmxn | 时间:2006-12-08 14:10
Originally posted by ynjzlzd at 2006-12-5 21:39:
麻烦楼上的高手抽空补充,我们在耐心等待.
今天已经补充了几个符号上去了,好像再没有其它的符号吧。=_=
作者:FJY206 | 时间:2006-12-16 05:05
多谢了!!
作者:nt101007 | 时间:2006-12-17 04:31
看不清楚呢?》
作者:lxmxn | 时间:2006-12-17 16:08
Originally posted by nt101007 at 2006-12-17 04:31:
看不清楚呢?》
是什么看不清楚?我怕字体小了看不清楚,特意把字体调成比较的大的字体了,怎么还看不清呀?
作者:ccwan | 时间:2006-12-17 23:14
按住Ctrl,向上转动鼠标滑轮就变大了,向下变小。
作者:fjcyz | 时间:2006-12-23 11:21
4楼经典, 记号,收藏
作者:lovehack2006 | 时间:2006-12-23 17:17
这个我喜欢!!!
作者:vlanmaster | 时间:2006-12-30 01:15
感谢楼主辛苦工作。学到东西了。
作者:wbb55bbw | 时间:2006-12-30 13:23
好贴,对我这样的菜鸟来说真的是好贴.感谢楼主.
作者:lxing20002 | 时间:2007-01-01 07:33
长见识了,多谢,一直对这个也是半知不解的
作者:hxuan999 | 时间:2007-01-07 08:43
你字的颜色呀.闪的人发晕....
作者:lxmxn | 时间:2007-01-07 16:51
Originally posted by hxuan999 at 2007-1-6 19:43:
你字的颜色呀.闪的人发晕....
谁??这个字的颜色比较深,不好么?
作者:jimmychan | 时间:2007-01-09 04:01
有收获,谢谢各位
作者:jokoip666 | 时间:2007-01-11 20:46
谢谢lxmxn
很好的资料,收藏了,呵呵
作者:oilio | 时间:2007-01-16 02:51
不错啊,最后的&&和||以前确实不知道,受教了,谢谢!
作者:eroslp | 时间:2007-01-19 09:31
长见识了,多谢,一直对这个也是半知不解的
作者:global620 | 时间:2007-01-19 12:02
顶 好东西 是常常被符号弄晕 本人新手
作者:ylgzs | 时间:2007-01-22 10:54
太好了,感觉真不错,还有没有啊,呵呵
作者:tyrbl | 时间:2007-01-22 11:55
写的很好
作者:g4rr | 时间:2007-01-25 04:58
好东西.复制下来了
谢谢lxmxn
好像差了"!"这个?能补充一下吗?(感叹号)
作者:lxmxn | 时间:2007-01-25 12:00
Originally posted by g4rr at 2007-1-24 15:58:
好东西.复制下来了
谢谢lxmxn
好像差了"!"这个?能补充一下吗?(感叹号)
多谢兄提醒,已经补充上去了。
作者:lizaoyou | 时间:2007-01-25 13:25
过去常被dos符号所困惑,现终有权威文章指引了,谢谢lxmxn!
有些符号不能在纯dos下使用,能补充一下吗?
作者:lxmxn | 时间:2007-01-25 13:31
Originally posted by lizaoyou at 2007-1-25 00:25:
过去常被dos符号所困惑,现终有权威文章指引了,谢谢lxmxn!
有些符号不能在纯dos下使用,能补充一下吗?
你说的补充,是指出哪些符号不能在纯DOS下用,还是写出只能在纯DOS下用的符号呢?
其实对于纯DOS,本人也只进入过几次而已,对里面的东西很不了解,只是对命令行的符号知道一点皮毛而已。如果要整理纯DOS下的符号问题,可能要请论坛其他经常和纯DOS界面打交道的朋友来完成了。
作者:lizaoyou | 时间:2007-01-25 14:40
都可以,谢回复。
作者:kawaguchi | 时间:2007-01-25 18:37
顶,学习-ing
作者:qingfushuan | 时间:2007-01-26 06:58 | 标题:精品
精品能打包下载就好了
作者:zhuzhu818 | 时间:2007-01-27 20:56
好贴...顶
作者:qzwqzw | 时间:2007-01-27 23:08
整理的不错
补充几点
~在for中表示使用增强的变量扩展
在set中表示使用扩展环境变量指定位置的字符串
在set/a中表示按位取反
``在for/f中表示它们所包含的内容当作命令行执行并分析它的输出
%的作用比较复杂
单个%紧跟0-9的一个数字表示引用命令行参数
用于for中表示引用循环变量
使用两个%包含一个字符串表示引用环境变量
连续的两个%表示执行时脱为一个%
这四者的优先关系比较复杂,请尽量不要带有歧义的使用
^应该算是取消转义字符,即将所有转义字符的转义作用关闭
set/a中是按位异或
在findstr/r的中表示不匹配指定的字符集
&在set/a中是按位与
*在findstr/r中表示将前一个字符多次匹配
-跟在某些命令的/后表示取反向的开关
|在set/a中是按位或
在帮助文档中表示其前后两个开关、选项或参数是二选一的
\在findstr/r中表示正则转义字符
在帮助文档表示其中的开关、选项或参数是可选的
在findstr/r中表示按其中指定的字符集匹配
''在for/f中表示将它们包含的内容当作命令行执行并分析其输出
在for/f "usebackq"中表示将它们包含的字符串当作字符串分析
""在for/f中将表示它们包含的内容当作字符串分析
在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容
在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义
<在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用
>在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用
.在路径的\后紧跟或者单独出现时
一个.表示当前目录
两个.表示上一级目录
三个.仍表示上两级目录
在路径中的文件名中出现时
最后的一个.表示主文件名与扩展文件名的分隔
在findstr/r中表示在此位置匹配一个任意字符
?在路径中表示在此位置通配任意一个字符
紧跟在/后表示获取命令的帮助文档
/表示其后的字符(串)是命令的功能开关(选项)
作者:chujiafu | 时间:2007-01-28 06:39
以前只在纯Dos下搞过一点,但Cmd与Dos不大一样。学无止境呀。
作者:g4rr | 时间:2007-01-28 06:53
Originally posted by lxmxn at 2007-1-24 11:00 PM:
多谢兄提醒,已经补充上去了。
不敢当啊lxmxn大大哥.呵呵
我正在入门中.对很多东西还一知半解.努力中....
再次谢谢你的帖.你的认真令小弟我十分佩服!
作者:lxmxn | 时间:2007-01-28 10:54
Re qzwqzw:
多谢兄的补充,有时间我会结合你的补充再将其完善一下的。放假没什么时间上网,所以只能拖一段时间了。
作者:tangdou313 | 时间:2007-01-31 05:28
找了很久啦!终于知道啦!谢谢!
作者:electronixtar | 时间:2007-01-31 06:35
作者:xuehu | 时间:2007-02-01 03:30
好东西啊
厚厚
作者:lxmxn | 时间:2007-02-02 11:27
作者:sjjhhx | 时间:2007-02-17 07:40
学习了,作为菜鸟很喜欢这些东西,很基础,对于我们学习却至关重要。唯有将这些基础的东西烂熟于心,才有可能写出批处理来。麻烦高手们以后多写一些这样基础的贴子,比如:符号问题,格式问题,set语法,等等吧,一些基础的知识,虽然很简单但是如果没有高手的指点,就像一层窗户纸一样没人捅,再简单对于新手也破不了,还是应该把基础打好打牢,清清楚楚的这样才行。期待这样的贴子!
作者:gne3 | 时间:2007-02-17 11:06
辛苦了,楼主^^
作者:lop123 | 时间:2007-02-26 08:08
鼎
作者:gne3 | 时间:2007-02-27 10:45
好东西,我在顶
作者:jmz573515 | 时间:2007-03-14 00:39
真是好东西!顶上去
作者:lxmxn | 时间:2007-03-14 02:22
4楼的关于DOS符号的问题的资料已经重新完整的整理了一遍,欢迎大家参考。
作者:tianlijian | 时间:2007-03-14 03:38
多谢了,来到这里我学了不少
作者:iiiila | 时间:2007-03-15 23:06
太有才了。
作者:tyuooiu | 时间:2007-03-16 11:01
感谢lxmxn!
作者:swallow | 时间:2007-03-26 09:10
谢谢楼主,受益匪浅
作者:stornager | 时间:2007-04-04 07:10
xiexiela!!!!!!!
作者:oilio | 时间:2007-04-06 02:32
lxmxn兄,有一个小错误,快改过来。>符号写成<符号了。
作者:lxmxn | 时间:2007-04-06 02:38
Originally posted by oilio at 2007-4-5 13:32:
lxmxn兄,有一个小错误,快改过来。>符号写成<符号了。
多谢兄指正,已改正。
作者:htysm | 时间:2007-04-07 01:06
确实很有才的。而且还很谦虚。
作者:shaqiu | 时间:2007-04-09 03:14
太厉害了
向这位同志学习
作者:aojian12hen | 时间:2007-04-09 03:46
感谢分享..学了很多..
作者:mtiankong | 时间:2007-04-11 09:35
好贴就要支持
作者:ymbbmq | 时间:2007-04-11 12:04
谢谢!!!!!!!!
作者:waitingcd | 时间:2007-04-11 22:51
学习了。
作者:jashonx | 时间:2007-04-24 09:07
这个值得一看,是个好东西,顶!坚决顶!
作者:minmin888 | 时间:2007-05-08 14:07
好东东,收藏之!
作者:minmin888 | 时间:2007-05-08 14:07
好东东,收藏之!
作者:wentaowen | 时间:2007-05-10 14:59
已经全部收下的了,谢谢.
作者:qzwqzw | 时间:2007-05-27 16:53
建议按照键盘顺序重新排一下序
再做几点修正
@ 隐藏命令的回显
改为“隐藏命令行的回显”,命令的回显应由 >nul 2>nul 等句式隐藏
%
单个%紧跟0-9的一个数字表示引用命令行参数;
用于for中表示引用循环变量;
连续的两个%表示执行时脱为一个%
应改为
两个单独的%包含一个字符串,表示引用以此串为名的环境变量;
两个连续的%表示在预处理中脱为一个%;
在for语句的in子句之前,单个%(命令行)或者连续两个%(批处理)紧跟一个字符(可以是字母、数字和一些特定字符),表示指定一个循环或者遍历指标变量;
在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量;
在批处理中,单个%紧跟0-9的一个数字表示引用本批处理当前执行时的命令行参数;
其它情况下,%将会被脱去(批处理)或保留(命令行)
^
取消转义字符,即将所有转义字符的转义作用关闭。
应改为
取消特定字符的转义作用,比如& | > < ! "等,但不包括%
因为转义字符的定义比较模糊,至于%究竟算不算转义字符,有待讨论
另外,考虑将句柄复制加入
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
作者:lxmxn | 时间:2007-05-27 17:02
再次感谢 qzwqzw 兄对此贴的关注和建议,稍后我会把它重新整理放到批处理室去。
作者:rechard | 时间:2007-05-28 10:56
都收了.难得这么全面的介绍符号.
作者:withsiyu | 时间:2007-05-28 15:27
还可以了
作者:qjykll | 时间:2007-06-09 10:49
ddddddddd
作者:xuxinxiangxue | 时间:2007-06-11 10:39
好东西,受益匪浅啊,发现自己知道得太少啦!!顶。。。。。。。
作者:norlan | 时间:2007-06-28 17:07
好
作者:lm0158 | 时间:2007-07-04 23:14
很好哦下来看看
作者:lm0158 | 时间:2007-07-04 23:15
很好哦下来看看
作者:haiou327 | 时间:2007-07-10 00:25
>>
\\命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖,在其后面追加写入.
作者:haiou327 | 时间:2007-07-10 00:25
>>
\\命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖,在其后面追加写入.
作者:qpmgljf | 时间:2007-07-14 10:50
哇。好贴。。。顶顶顶。。。学习。。。。
作者:hxwxyz | 时间:2007-09-08 20:57
大哥级的人物就是不一样 学习了
作者:hxwxyz | 时间:2007-09-08 20:57
大哥级的人物就是不一样 学习了
作者:hlfeng | 时间:2007-09-09 18:39
顶
作者:wmc6432107 | 时间:2007-09-10 14:49
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者:wmc6432107 | 时间:2007-09-10 14:49
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者:pjyhl82 | 时间:2007-09-11 23:42
感谢大大们,学习了
作者:pjyhl82 | 时间:2007-09-11 23:43
感谢大大们,学习了
作者:ab200210 | 时间:2007-09-16 18:04
hao
作者:ab200210 | 时间:2007-09-16 18:04
hao
作者:tusheng | 时间:2007-09-17 08:38
确实是好贴
作者:Li103Z | 时间:2007-09-18 13:48
写得很全面,也很不错。
作者:Li103Z | 时间:2007-09-18 13:48
写得很全面,也很不错。
作者:blue812 | 时间:2007-10-29 16:59
很不错,谢谢!!!!!!!!!!
作者:blue812 | 时间:2007-10-29 17:00
很不错,谢谢!!!!!!!!!!
作者:jxzhxch | 时间:2007-11-03 09:17
dddddddddddd
作者:jxzhxch | 时间:2007-11-03 09:17
dddddddddddd
作者:dthao | 时间:2007-11-04 07:06
顶顶
作者:dthao | 时间:2007-11-04 07:07
顶顶顶
作者:fw911 | 时间:2007-11-04 10:42
谢谢lxmxn
好好学习
作者:fw911 | 时间:2007-11-04 10:43
谢谢lxmxn
好好学习
作者:ftlwdy | 时间:2007-11-08 10:00
学习了
作者:a82930 | 时间:2007-11-09 16:51
太谢谢了!
作者:jk328019419 | 时间:2007-11-09 20:21
辛苦为我们新手写的经典教程啊,版主太爱你了
作者:zhouguanjie | 时间:2007-11-11 11:15
谢谢啊 有用的东西
作者:chenxing0711 | 时间:2007-11-12 02:52
太感谢斑竹了
作者:nyafullee | 时间:2007-11-21 15:41 | 标题:真的不错
太好了,真的不错,我顶项项
作者:sunghuang | 时间:2007-11-21 16:33
谢谢
作者:qunhui | 时间:2007-12-16 11:10
呵呵..学习了..
作者:qunhui | 时间:2007-12-16 11:10
呵呵..学习了..
作者:yulanggongwu | 时间:2007-12-16 20:30
太感谢啦
作者:dai13910 | 时间:2008-01-11 14:22
可得好好谢谢 楼主
作者:joyoustar | 时间:2008-01-11 17:38
谢谢,学习了!!!
作者:binghuoxk | 时间:2008-01-17 12:35
谢谢分享
作者:allen733124 | 时间:2008-02-18 16:35
受教了,多谢lxmxn!
作者:w30699 | 时间:2008-02-18 16:41
看着DOS的那些命令就头晕~
作者:gujicao2005 | 时间:2008-03-09 16:53
介绍得真详细,顶!!!!!!!!!!!!!!!!!!!!
作者:szww | 时间:2008-08-01 15:49
太精妙了。谢谢
作者:szww | 时间:2008-08-01 17:25
非常好。收藏学习实践
作者:haiou327 | 时间:2008-08-01 23:09
再温习一遍!!!!!!!!!!!!
作者:slw218856 | 时间:2008-08-20 21:20
更清楚了一些符号,谢谢
作者:cms888828 | 时间:2008-08-20 23:03
好心人呀!
作者:yycup1111 | 时间:2008-08-21 01:29
好东西啊
作者:zhmengjun | 时间:2008-08-21 10:24
ding!
作者:jjlc10227 | 时间:2008-09-08 14:23
真是太好了,喜欢死你们了
作者:earth123xinyuan | 时间:2009-02-10 15:39
谢谢,我只能支持下你了!
作者:qunsheng | 时间:2009-02-10 16:55
感谢版主lxmxn,谢谢分享
来源:https://www.cn-dos.net/forum/viewthread.php?tid=24289 · 打印时间 2026-06-18 10:16