Board logo

标题: [整理参考] CMD/DOS下符号的作用参考 [打印本页]

作者: lxmxn     时间: 2007-5-27 18:29    标题: [整理参考] CMD/DOS下符号的作用参考

因关于DOS符号的总结很少,所以根据[1],经过几次整理之后,写了下面这个《CMD/DOS符号参考》,推荐新手好好看看,老手温习。

标题:[整理参考] CMD/DOS下符号的作用参考
作者:lxmxn [at] bbs.cn-dos.net
时间:2007-5-27
邮箱:lxmxn520[at]163.com
说明:1、转帖请注明原帖出处属于中国DOS联盟(www.cn-dos.net/forum);
   2、欢迎大家补充还未说明到的符号;
   3、有任何错误还请不吝指出;
   4、特别感谢 qzwqzw 对此资料提出的补充和建议。     

正文开始:
__________________________________________________________________________________________
            一、单符号
~
① 在for中表示使用增强的变量扩展。
② 在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。
③ 在set/a中表示一元运算符,将操作数按位取反。

!
① 在set /a中一元运算符,表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。

@
① 隐藏命令行本身的回显,常用于批处理中。

$
① 在findstr命令里面表示一行的结束。
② 在prompt命令里面,表示将其后的字符转义(符号化或者效果化)。

%
① 在set /a中的二元运算符,表示算术取余。
② 命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。
③ 批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。
④ 其它情况下,%将会被脱去(批处理)或保留(命令行)

^
① 取消特定字符的转义作用,比如& | > < ! "等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;
② 在set/a中的二元运算符,表示按位异或。
③ 在findstr/r的[]中表示不匹配指定的字符集。

&
① 命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令。
② 在set/a中是按位与。

*
① 代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt"。
② 在set /a中的二元运算符,表示算术乘法。
③ 在findstr/r中表示将前一个字符多次匹配。

-
① 范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符。
② 在findstr/r中连接两个字符表示匹配范围。
③ -跟在某些命令的/后表示取反向的开关。
④ 在set /a中:
   1.表示一个负数。
   2.表示算术减运算。

+
① 主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了。
② 在set/a中的二元运算符,表示算术加法。

:
① 标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"标签后面来执行批处理命令了。
② 在%var:string1=string2%中分隔变量名和被替换字串关系。

|
① 管道符,就是将上一个命令的输出,作为下一个命令的输入."dir /a/b |more"就可以逐屏的显示dir命令所输出的信息。
② 在set/a中的二元运算符,表示按位或。
③ 在帮助文档中表示其前后两个开关、选项或参数是二选一的。

/
① 表示其后的字符(串)是命令的功能开关(选项)。比如"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中表示正则转义字符。

,
① 在set /a中表示连续表达式的分割符。
② 在某些命令中分割元素。

.
① 在路径的\后紧跟或者单独出现时:
   一个.表示当前目录。
   两个.表示上一级目录。
② 在路径中的文件名中出现时:
   最后的一个.表示主文件名与扩展文件名的分隔。

?
① 在findstr/r中表示在此位置匹配一个任意字符。
② 在路径中表示在此位置通配任意一个字符。
③ 紧跟在/后表示获取命令的帮助文档。

__________________________________________________________________________________________

            二、多符号(符号不能分隔)

&&
① 连接两个命令,当&&前的命令成功时,才执行&&后的命令。

||
① 连接两个命令,当||前的命令失败时,才执行||后的命令。

>&
① 将一个句柄的输出写入到另一个句柄的输入中。

<&
① 从一个句柄读取输入并将其写入到另一个句柄输出中。

%%
① 两个连续的%表示在预处理中脱为一个%。
② 批处理中,在for语句的in子句之前,连续两个%紧跟一个字符(可以是字母、数字和一些特定字符),表示指定一个循

环或者遍历指标变量。
③ 批处理中,在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量。

>>
① 命令重定向符,将其前面的命令的输出结果追加到其后面的设备中去。
② 在set /a中的二元运算符,表示逻辑右移。

==
① 在if命令中判断==两边的元素是否相同。

<<
① 在set /a中的二元运算符,表示逻辑左移。

+=
① 在set /a中的二元运算符。例如set /a a+=b表示将a加上b的结果赋值给a。

-=
① 在set /a中的二元运算符。例如set /a a-=b表示将a减去b的结果赋值给a。

*=
① 在set /a中的二元运算符。例如set /a a*=b表示将a乘以b的结果赋值给a。

/=
① 在set /a中的二元运算符。例如set /a a/=b表示将a除以b的结果赋值给a。

%=
① 在set /a中的二元运算符。例如set /a a%=b表示将a除以b的余数赋值给a。
【注:命令行可以直接用 set /a a%=b ,在批处理里面可以用 set /a a%%=b 。】

^=
① 在set /a中的二元运算符。例如set /a a"^="b表示将a与b按位异的结果赋值给a。
【注:这里 "^=" 加引号是为了防止^被转义,下同。】

&=
① 在set /a中的二元运算符。例如set /a a"&="b表示将a与b按位与的结果赋值给a。

|=
① 在set /a中的二元运算符。例如set /a a"|="b表示将a与b按位或的结果赋值给a。

<<=
① 在set /a中的二元运算符。例如set /a a"<<="b表示将a按位左移b位的结果赋值给a。

>>=
① 在set /a中的二元运算符。例如set /a a">>="b表示将a按位右移b位的结果赋值给a。

\<
① 在findstr的一般表达式中表示字的开始处。

\>
① 在findstr的一般表达式中表示字的结束处。

__________________________________________________________________________________________

            三、双符号对(两个符号之间须指定字符串)

! !
① 当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。

' '
① 在for/f中表示将它们包含的内容当作命令行执行并分析其输出。
② 在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。

( )
① 命令包含或者是具有优先权的界定符,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影。
② 在set /a中表示表达式分组。

" "
① 界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号。
② 在for/f中将表示它们包含的内容当作字符串分析。
③ 在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容。
④ 在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。

` `
① 在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。

% %
① 使用两个单独的%包含一个字符串表示引用以此串为名的环境变量。比如一个%time%可以扩展到当前的系统时间。

[ ]
① 在帮助文档表示其中的开关、选项或参数是可选的。
② 在findstr /r中表示按其中指定的字符集匹配。


__________________________________________________________________________________________


[1]参考连接
(4楼)http://www.cn-dos.net/forum/viewthread.php?tid=24289&fpage=1

[2]修改日期
第 1 次补充资料于2006.10.30.
第 2 次补充资料于2006.11.08.
第 3 次补充资料于2006.01.24.
第 4 次补充资料于2007.03.13.
第 5 次补充资料于2007.05.27.


[ Last edited by lxmxn on 2008-8-25 at 09:53 AM ]
作者: qzwqzw     时间: 2007-5-27 18:51
不错,格式和内容都完善多了

再提几个建议(千万不要怪我喋喋不休哦)

按照set /a的内容将 - 、 >> 、 <<、+=等内容补上

注上在set /a中使用!、&、>> 、<<时应该配合^或者""使用

>和<中加上句柄的用法
作者: lxmxn     时间: 2007-5-27 19:51
Re qzwqzw:

呵呵,怎么会怪呢,感谢还来不及呢。。

已经将你提到的几个补充上去了,随便补充了几个其它的。
作者: bjsh     时间: 2007-5-27 19:55
Very Good !!!
作者: meiko     时间: 2007-5-28 09:05
很不错的文章,学习
作者: ttyp     时间: 2007-5-28 09:13
再提建议,把prompt里的东西也搞进去吧
作者: ttyp     时间: 2007-5-28 09:15
还有批处理goto语句的:eof,:~截取字符,替代字符操作等,也算得上是个特殊的东西吧,新鸟这些都难看懂或者比较容易忽视

[ Last edited by ttyp on 2007-5-28 at 09:17 AM ]
作者: nbic     时间: 2007-5-28 11:09
收藏,慢慢看。。
作者: tyh     时间: 2007-5-28 11:25
嗯。难得。收藏。
作者: lxmxn     时间: 2007-5-28 14:13
Re ttyp:

已经补充进去了。

对于 :EOF ,其实也是一个标签,只不过是个比较特殊的标签,所以没有特别指出。
作者: stornager     时间: 2007-5-28 17:11
实在是好东西,谢谢斑竹的再次补充.
作者: scriptor     时间: 2007-5-30 22:12


  Quote:
Originally posted by lxmxn at 2007-5-27 18:29:
因关于DOS符号的总结很少,所以根据[1],经过几次整理之后,写了下面这个《CMD/DOS符号参考》,推荐新手好好看看,老手温习。

标题:[整理参考]  ...



补充以下:

:: 在批处理中的作用是 “注释”
比如:
CODE:  [Copy to clipboard]
...
:: 这里是注释行
...


我已经N久没有来了。

[ Last edited by scriptor on 2007-5-30 at 10:14 PM ]
作者: knoppix7     时间: 2007-5-30 22:23
goto :eof
有什么意思?
作者: lxmxn     时间: 2007-5-30 22:24
Re scriptor:

嗯,多谢补充,我再添加进去。

根据 qzwqze 15楼的解释,已经取消了关于::的注释说明。

[ Last edited by lxmxn on 2007-5-31 at 10:17 AM ]
作者: qzwqzw     时间: 2007-5-31 00:02
关于::的注释

记得曾经有人说过
它不过是一个无效的标签而已
注释只是它的副作用

因为cmd检查到冒号后有无效字符时直接忽略处理
所以冒号后跟一个空格也可以做注释标记
类似的无效字符还有很多
有兴趣的可以慢慢找

另外
~在set/a中是按位取反,与^ & |类似
比如10的二进制形式为00001010
取反后为11110101
换为十进制数即-11
相当于+1后再取负
相反数的说法容易让人误解

^是按位异或

[ Last edited by qzwqzw on 2007-5-31 at 12:09 AM ]
作者: lxmxn     时间: 2007-5-31 10:08
Re qzwqzw

“记得曾经有人说过
它不过是一个无效的标签而已
注释只是它的副作用”
已经去掉了关于::的解释。

“因为cmd检查到冒号后有无效字符时直接忽略处理”
测试发现无所谓“无效”字符,可以是任何字符。

“相反数的说法容易让人误解”
已经修改过来了,先前这样写是让别人容易理解写,但是没有描述其具体的本质作用。

“^是按位异或”
已经修改。
btw,想问一下,异或 和 异有什么区别呢?
作者: qzwqzw     时间: 2007-5-31 12:42
测试发现无所谓“无效”字符,可以是任何字符。
-----------------------
:字符后当然可以是任何字符
因为无效字符cmd是忽略解释的

怎么可以知道这一点呢?
定制一个这样的标签 ::errorlabel
然后试着goto ::errorlabel
如果能goto到说明是有效的
否则是无效的

我们的注释自然是需要无效的标签标记
否则有可能跟系统定义的或者我们定义的标签冲突

关于::的由来其实早有渊源
起初是因为 ms-dos 给的 rem 命令后无法直接使用管道和重定向符号
而且如果不echo off它的代码就会在运行时回显
所以就有人钻了这么一个漏子而已

从这几点也可以看出
因为少了许多预处理的过程
使用::的效率要高于rem

后来虽然cmd中虽然对rem作了许多改进
但::因为简单易用并且接近高级语言的注释标记
所以已经流传开来
----------------------------------

我没有见过“按位异”的说法
“异或”的意思是 不同于“或”
因为或的规则是
0|0=0
0|1=1
1|0=1
1|1=1

而异或稍有变化
0^0=0
0^1=1
1^0=1
1^1=0

[ Last edited by qzwqzw on 2007-5-31 at 12:46 PM ]
作者: lxmxn     时间: 2007-5-31 15:10
多谢qzwqzw释疑。。

我说的:后面可以是任何字符,是指在做注释时,没有被调用的标签都可以做注释。

关于goto ::errorlabel这样一个标签,无论如何也goto不到,所以用::就比较合理了。

个人理解是因为在goto里面,如果标签里面有:号,那么这个分号只是一个分隔符而已,类似的还有几个,比如 , : ( ,在它们后面的字符就不作解释了。
如果 goto ::errorlabel ,那么批处理就认为是在goto一个空的标签,而空的标签是无法构造和让goto起作用的。

示例:(为了可以返回用call代替了goto)
CODE:  [Copy to clipboard]
@echo off
call :hello;bat
call :hello,vbs
call :hello:asm
call :hello(java
call ::hello
pause&goto :eof

:hello
echo This is one line.
goto :eof
:
echo This is other line.
[ Last edited by lxmxn on 2007-5-31 at 08:15 PM ]
作者: qzwqzw     时间: 2007-5-31 19:08
你对::的理解比我更确切
-----------------------------------------------------------------------

从预处理的角度分析

在goto和:label的预处理过程中
所有的特殊字符全部被转义或过滤
而goto ::label被预处理成了个 goto 空标签 label
label被goto忽略

因为无法为空标签设置跳转标记
所以::label不会起作用
-----------------------------------------------------------------------

“:是无效字符”更确切的说是“:等字符是用于界定token的分隔符(或者界定符)”
“cmd忽略无效标签”更确切的说是“goto忽略了空标签后的多余参数”

[ Last edited by qzwqzw on 2007-6-2 at 11:51 PM ]
作者: scriptor     时间: 2007-6-1 00:59


  Quote:
Originally posted by lxmxn at 2007-5-30 22:24:
Re scriptor:

嗯,多谢补充,我再添加进去。

根据 qzwqze 15楼的解释,已经取消了关于::的注释说明。

[ Last edited by lxmxn on 2007-5-31 at 10:17 AM ]

呵呵
没事!

15#
看来我知道的太少啊

惭愧 。
作者: dinfli     时间: 2007-6-1 01:50
DDDDDD
作者: qinbuer     时间: 2007-6-1 02:16
少的就是它!
作者: wj12390     时间: 2007-6-4 15:08    标题: 呵呵。

好东西
作者: Li103Z     时间: 2007-6-7 11:11
8错
作者: haiou327     时间: 2007-6-22 01:22
收藏了。
作者: wgx1688     时间: 2007-6-24 12:14
不怎么懂啊~!!
作者: qzwqzw     时间: 2007-6-26 11:11
%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。
【 %= 两边加上 " 防止 % 被转义,下同。】
--------------------------------------------------------------------------
【】里的说明有问题
cmd的命令行预处理中
%的解析早于"
也就是说%的优先级高于"
所以引号对不能取消%的转义

这里应该说明的是
在命令行中用单个%没有问题
set /a a%=b

在批处理中需要使用双%
set /a a%%=b
作者: wl48693752     时间: 2007-6-26 11:49
好哦,收藏了
作者: wl48693752     时间: 2007-6-26 13:01
能有份这样汇集批处理知识的帖子或者文章就好了
作者: Lick     时间: 2007-6-26 13:12
多谢分享了,收藏了!
作者: lxmxn     时间: 2007-6-27 01:51
RE qzwqzw:

已经修正过来了,不过这个"号对于其它的特殊符号(比如 ^ 、& 、| )起到了取消特殊用途的作用。所以感觉在用 set /a 命令时加上一对""比较保险。呵呵。
作者: vivi     时间: 2007-6-27 18:16
好东西,谢谢楼主,已经下载为DOC文档打印学习了。
作者: windowsxphao     时间: 2007-8-4 08:24    标题: 感谢,学习ing

:lol:

此贴强,对的起党


作者: ccwan     时间: 2007-8-4 08:55
这确实一篇很有价值的文章,对于帮助理解cmd颇有帮助。
作者: long626201     时间: 2007-9-3 10:51
ok
作者: flamemperor     时间: 2007-9-7 10:29
问一下这个:
! !
① 当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。
我启动了变量延迟后用!!引用变量,不可以阿。
是不是还需要什么条件?

我比较笨,见笑了。
作者: lxmxn     时间: 2007-9-9 01:45
Re flamemperor:

你是用 Setlocal EnableDelayedExpansion 启动的吗?

请将你的代码发出来看看?
作者: flamemperor     时间: 2007-9-14 13:56
谢谢斑竹的恢复,我已经解决问题了。

是我自己写错了,谢谢你。现在对变量延迟还是一知半解,继续学习中。
作者: wordexport     时间: 2007-9-28 18:41
还说什么呢!先顶吧
作者: binggao     时间: 2007-9-30 09:12
学习了
作者: 002500     时间: 2007-10-3 14:14
在cn-dos 从来看帖不回贴  看到这个好帖  我觉得我的坏习惯的改一改了
作者: reubon     时间: 2007-10-4 16:51
非感感谢lxmxn版主
受益匪浅!!!
作者: zwdeee     时间: 2007-10-7 08:10
正好看不懂,帮了我大忙
作者: qdloverr     时间: 2007-10-7 12:41
for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do echo %%a>c:\MAC.txt
问题来了,'ipconfig /all^|find /i "Physical Address"'
既然是让 'ipconfig /all传输给下一个命令 为什么又用^这个符号来取消|的作用呢?
如果只运行'ipconfig /all^|find /i "Physical Address
可以不需要这个符号
为什么在for 里面一定要加上^
作者: lxmxn     时间: 2007-10-7 18:01
RE qdloverr:

  Quote:
for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do echo %%a>c:\MAC.txt

如果不在 ipconfig /all 和 find 之间的|前加^的话,这条语句就可以理解成:
for /f "tokens=2 delims=:" %%a in ('ipconfig /all传值给find /i "Physical Address"') do echo %%a>c:\MAC.txt
很明显会导致语法错误。导致这样情况,可能是因为管道符(|)的优先级比for命令中in后面的括号()的优先级高。

如果不加^的话,想办法使 ipconfig /all|find /i "Physical Address" 变成一个整体,或许可以这样:

  Quote:
for /f "tokens=2 delims=:" %%a in (' "ipconfig /all|find /i "Physical Address" "') do echo %%a>c:\MAC.txt

[ Last edited by lxmxn on 2007-10-7 at 06:03 PM ]
作者: 48344620     时间: 2007-10-15 20:58
看完了还是有很多不懂的
至少知道了::比rem好
---
这么好的贴子不顶不行呀!
作者: 414893029     时间: 2007-10-30 09:33
初来乍到  不懂规矩...
作者: echo     时间: 2007-10-30 20:28
又学到了好多,已整理成电子文档,(同时祈祷我的电脑不要再坏了,不然,资料又给丢了!!)
作者: zouzhxi     时间: 2007-10-31 17:27
哈,,,
收藏了....
学心中....
作者: jfsy     时间: 2007-11-1 13:02
学习收藏了,谢谢提供
作者: gsgbjhpd     时间: 2007-11-1 16:51
确实挺有用的
作者: cliden     时间: 2007-11-10 02:19
好东西,不错!!!收藏学习,希望以后能学习更多!!!
作者: ywqsa206     时间: 2007-11-13 05:50
哈,,真的是好东东,,偶正需要呢。。
作者: huobilie     时间: 2007-11-15 15:47
good
作者: che11n     时间: 2007-11-26 00:15
呵呵...收下.再慢慢看.
作者: darkkiller     时间: 2007-11-27 17:36
好东西,不过斑竹把重要常用的符号再举几个例子就更好了,像%号的用法,搞的我超级迷茫
作者: xiaohei     时间: 2007-12-3 12:49
精典哈,呵呵,谢谢楼主
作者: qsheup     时间: 2007-12-3 21:00
支持
作者: honghunter     时间: 2007-12-4 20:44
学习ING,真是好资料,希望能有更多 。
作者: alx841007     时间: 2007-12-23 10:30
哦,知道了,又增长了一些知识~~
作者: lzl88123     时间: 2007-12-25 17:13
谢谢,正在学习DOS,请多关照
作者: yiyun     时间: 2007-12-26 16:27
收藏了
作者: jiulong     时间: 2007-12-29 00:20
确实是好贴,不过能加上缺了例子与例子说明(也就是这个例子的作用)
作者: cliffordbear     时间: 2008-1-1 20:36
十分感谢楼主的奉献精神。
作者: hdq197611     时间: 2008-1-17 09:09
最好分别举例说明,要不然与这些符号的帮助文件不是一样嘛,很难看懂的!
作者: hillee     时间: 2008-1-17 10:10
占位学习,太多高手了
作者: flasharmy     时间: 2008-1-19 22:02
好东西
作者: qianmo717     时间: 2008-1-21 21:02
这个好,都是技巧。
作者: jinde22     时间: 2008-1-22 21:57
谢谢.
作者: shuiyin313     时间: 2008-1-23 14:11
不错!
作者: kgdetg1127     时间: 2008-1-25 22:16
不顶不行。顶起。。。。
作者: pinghu     时间: 2008-2-8 17:49
版主是不是能结合if 命令讲一讲逻辑运算符的用法呢
既如何用逻辑运算符表达两个条件全部满足才为真
作者: pinghu     时间: 2008-2-8 17:50
有没有不带赋值的逻辑运算符,有的话请补充进来好吗
作者: xyhz365     时间: 2008-3-3 05:29
现在在学习DOS。看到今天才看到这个帖子。非常好。谢谢楼主。
作者: jipinshangren     时间: 2008-4-11 10:22
以前一直很想学习用dos,现在才知道有这么个网站,真得太菜了!以后努力学习了,谢谢搂主!
作者: chishingchan     时间: 2008-4-12 17:40
这些这么好的学习教程建议置顶
作者: would     时间: 2008-4-15 23:28
真是做得太好了
我常常就是被這些sybol搞到我頭暈
多謝
作者: bsksfi1010     时间: 2008-4-16 12:00
很不错的文章,学习
作者: cyz678990     时间: 2008-4-17 13:44
谢谢
我正在学,非常需要着个!
作者: heng520     时间: 2008-4-22 15:43
学习中~~~~
作者: naughtypack     时间: 2008-4-25 18:18
谢谢分享,太需要这样的东西了,呵呵
作者: jarnet     时间: 2008-4-27 20:33
谢谢楼主!
作者: sx22     时间: 2008-4-29 22:22
不错啊。
作者: 896376374     时间: 2008-5-6 22:47
是我们些新手的福音!谢谢,斑竹!
作者: youling126     时间: 2008-5-9 13:18
不错,顶上
作者: xixihua     时间: 2008-5-12 00:42
感谢楼主的奉献
作者: joyn     时间: 2008-5-14 23:58
对我们初学者太有帮助了~~
作者: twfyzjtwf     时间: 2008-5-15 18:49
对一些看似简单的问题,再进行深入研究,这样的帖子就是精彩
作者: taqiao     时间: 2008-5-18 11:22
这么多怎么学啊
作者: zhang08     时间: 2008-5-21 10:59
好好看
作者: mzren     时间: 2008-5-23 20:29
对于我们新手来说太好了,学习中!!!
作者: hansom     时间: 2008-5-25 18:08
up up up
作者: hyu029     时间: 2008-6-1 02:00
经典
作者: holee     时间: 2008-6-2 10:11
重点讲讲%的实际用法吧。。。
作者: comperature     时间: 2008-6-25 12:02
! !
① 当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。


变量还有延迟吗???

是什么意思啊。?
作者: nul     时间: 2008-7-11 17:32
太复杂了,看不大懂。看来得慢慢学了。
作者: scarecrow0929     时间: 2008-7-26 19:42
楼主辛苦了,支持下`~~
作者: szww     时间: 2008-8-1 15:52
感谢提供经理的东西。只是子文件夹的文件以及文件名有空格的文件无法删除。另外,没有简单说明参数的用法。
作者: keguanglidos     时间: 2008-8-10 03:34
太好了
收了
谢谢
作者: keguanglidos     时间: 2008-8-10 03:36
感谢提供经典的东西。但不是很明白,学习中
作者: jy02116916     时间: 2008-8-15 11:32
感动啊。。关于符号的用法找了好久 今天终于碰到超详细的了 挥泪赞
作者: atmduke     时间: 2008-8-15 20:19
新来的.看到这个贴子.心里特敞亮,顶了,收了,支待了,
作者: cailinfeng     时间: 2008-8-17 01:37
顶啊,!!!!!!
收藏了!!!!!!!!
作者: qwertl     时间: 2008-8-17 08:17
errorlevel也补充下
作者: W     时间: 2008-8-21 12:55
实在是好东西,谢谢斑竹的再次补充.
作者: aoyuhuaoju     时间: 2008-9-18 16:06
好文章我顶一下,在学一下
作者: taqiao     时间: 2008-9-20 13:37
不错吗?
作者: yycmu4     时间: 2008-9-24 18:02
严重感谢楼主
作者: dejoy     时间: 2008-9-25 09:56
希望能标各种符号适用的平台,如win98/winnt
作者: swq6413     时间: 2008-10-1 14:49
非常好的教程,太感谢楼主了~~~
作者: willing     时间: 2008-10-1 16:41
好东西,收藏了,鼓励楼主多加完善。
作者: leisonn     时间: 2008-10-3 23:26
收获很大啊。。明白了&& 和 ||跟C语言是不一样的。。
作者: applecy     时间: 2008-10-4 10:40
lxmxn出品
必属精品
作者: huming99w     时间: 2008-10-7 14:20
谢谢楼主了
作者: hlyw     时间: 2008-10-7 14:59
好东西,谢谢指导新人
作者: frz668     时间: 2008-10-8 16:46
谢谢。珍藏了
作者: taotaomike     时间: 2008-10-10 10:46
感谢楼主,找这个找了好就,都没你整理的完备。稽首收下了。
作者: lifenjoiner     时间: 2008-10-14 00:01
这样主干、提纲的东西很有用很重要。。。
作者: gph     时间: 2008-10-14 21:59
好贴,收藏
作者: radical     时间: 2008-10-16 10:32
还是比效详细的不错!
作者: FFLOVE     时间: 2008-10-16 18:44
谢谢分享!!!!!!!!!!!!!!!!!!!!1
作者: laihaibin08     时间: 2008-10-19 17:08
非常感谢楼主
及上面的热心兄弟
好帖
作者: wltx0808     时间: 2008-10-21 08:21
不太明白 先收藏 慢慢看 。。。。。
作者: aihejiating     时间: 2008-10-21 13:13
lxmxn版主,我想问一下,冒号的第二条作用:
“在%var:string1=string2%中分隔变量名和被替换字串关系”
是什么意思?能举个例子吗?
作者: aihejiating     时间: 2008-10-21 21:49
我懂了,原来这里http://www.cn-dos.net/forum/viewthread.php?tid=34049&fpage=1有说明了
作者: qinchun36     时间: 2008-10-30 23:22
学习了 , CMD 自己的帮助里面都没有这些,以前很困惑呢
作者: xie1986214     时间: 2008-11-2 10:03
楼主  为了 方便菜鸟更容易理解
我建议 每个 符号 都能给一些简单的例子就最好了

谢谢楼主!!
作者: wuwei880     时间: 2008-11-7 12:09    标题: 请问各位老大set aa=!aa:~-2!这一句中两个!之间的怎么解释

批处理内容:
@echo off
setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=\" %%a in ('fsutil fsinfo drives^|find /v ""') do (
    set aa=%%a
    set aa=!aa:~-2!
    for %%i in (!aa!) do fsutil fsinfo drivetype %%i
)
pause
作者: wuwei880     时间: 2008-11-7 16:00
不好意思,刚学批处理,“请问各位老大set aa=!aa:~-2!这一句中两个!之间的怎么解释”这个问题俺明白了。
作者: iyou     时间: 2008-11-10 15:01    标题: set

我是个新手,不理解set /a是什么意思,哪位高手指点一下 啊
作者: koe1981     时间: 2008-11-11 03:40
学习中
作者: kennybao     时间: 2008-11-12 16:55
好帖子,不愧为精华。谢谢
作者: killkk     时间: 2008-11-12 20:38
好东西..慢慢看``
作者: hedgehog     时间: 2008-11-13 22:31
很好很受用
作者: zuiwangqiuyue     时间: 2008-11-14 14:07
正是我要找的,谢谢咯!!!!
作者: tianzhiyi     时间: 2008-11-18 16:04
非常好,正在学习中,俺菜鸟一个
作者: PENGUIT     时间: 2008-11-19 19:06
很全很强大,收藏了,谢谢了
作者: xiefei3131     时间: 2008-11-21 10:13    标题: 很详细

借鉴学习,
作者: xieyimin2008     时间: 2008-11-27 09:05
很有帮助!谢谢~~
作者: xmantj     时间: 2008-12-1 12:25
goooooooood
作者: ktv98     时间: 2008-12-4 12:13
多谢分享了,收藏了!
作者: Prion11     时间: 2008-12-5 09:51
Thank you~
作者: rs369007     时间: 2008-12-8 14:44    标题: @是否还有其他用途if xx@echo If you see this, it worked

setlocal enableDelayedExpansion
pause
set VAR=before
if "%VAR%" == "before" (
     set VAR=after
     if "!VAR!" == "after" @echo If you see this, it worked
)   


这里为什么用@ 而不是用,&&
作者: lxmxn     时间: 2008-12-11 01:41


  Quote:
Originally posted by rs369007 at 2008-12-8 14:44:
setlocal enableDelayedExpansion
pause
set VAR=before
if "%VAR%" == "before" (
     set VAR=after
     if "!VAR!" == "after" @echo If you see this, it w ...

if 判断之后需要接命令,而 && 是命令连接符,不属于命令的范畴,会报错的。
作者: yjd     时间: 2008-12-15 10:48
哎。大部分都看不懂。
只用过> ,>>,|
作者: wxq5921     时间: 2008-12-17 18:10
真的很感谢LZ
作者: lijihui     时间: 2009-1-9 16:21    标题: dos

xiiela
作者: yyyyyyyyy     时间: 2009-2-2 12:37
学习学习
作者: lantu     时间: 2009-2-3 14:06
正到处找这方面的知识呢。正需要
作者: slx8528     时间: 2009-2-7 15:39


  Quote:
:
① 标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"标签后面来执行批处理命令了。




      这里的标签定位符在哪里有明确的结束符号或标志没?怎么识别标签后的字符串结束?写个例子说明一哈,谢谢!!
作者: wangfangjian     时间: 2009-2-20 22:26
收藏了  好东西
作者: cd9299     时间: 2009-2-24 10:44
作为新手,太感谢了
作者: cfnxy     时间: 2009-2-25 10:18
顶顶顶
好帖
作者: baosiu     时间: 2009-2-25 12:08
学习了!
作者: wnyw     时间: 2009-3-3 03:59
收藏了。。。
作者: 764873221     时间: 2009-4-3 10:48    标题: 正在找这个啊

好啊啊啊好啊,正在找这个啊
作者: 5566ljlj     时间: 2009-4-10 00:54
挺好的,学习学习了。
作者: qiuzisiyu     时间: 2009-4-22 12:28
多谢楼主提供。
作者: hjh700913     时间: 2009-5-6 00:36
hhh
作者: hjh700913     时间: 2009-5-6 00:36
多谢楼主提供。谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
作者: hjh700913     时间: 2009-5-6 00:40
%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。%=
① 在set /a中的二元运算符。例如set /a a"%="b表示将a除以b的余数赋值给a。
作者: neity     时间: 2009-5-16 06:24
终结的非常好
作者: keke0     时间: 2009-5-17 02:57
学习中
作者: xprubber     时间: 2009-5-28 22:49
mark
作者: zhangwencheng     时间: 2009-5-29 07:31
http://www.cn-dos.net/forum/viewthread.php?tid=30985
啊呀!赶紧记下来,过去在非常批处理里见过,后来忘记在哪个版块了。
好贴,可作学习资料用!
加分!
作者: wo1234     时间: 2009-5-31 08:50
不错 介绍的很详细 谢谢楼主
作者: youyun     时间: 2009-6-3 19:26
配合简单的实例就更好了
作者: wayaoqiang     时间: 2009-6-17 10:59
我要了。
作者: kendos     时间: 2009-7-6 08:58
好!借了!
作者: windanchaos     时间: 2009-9-14 08:43
楼主有心人,支持,好!
作者: shenlong     时间: 2009-10-3 20:37
楼主辛苦了。多谢分享。
作者: jarry0932     时间: 2009-10-5 00:12
十分感谢楼主,长了不少知识啊,还有各位跟帖的大哥了。。。。
作者: hexian     时间: 2009-10-8 16:32
真齐全啊!收藏!
作者: dongdong1989     时间: 2009-10-14 02:59
经典,只能说红典的入门级帖。
作者: teamore     时间: 2009-10-27 01:55
真是好文章 收藏了   感谢~~
作者: snzy342     时间: 2009-11-11 11:58
以前看到过一个帖子,有一条命令是start " a.txt,不知其中的符号是什么作用
作者: echoair     时间: 2009-11-11 18:00
好贴…
作者: sx321sx     时间: 2009-11-18 02:00
万分感谢!楼主辛苦了
作者: summerflower     时间: 2009-11-24 13:53
很多很全啊,谢谢
作者: 42293     时间: 2009-11-29 14:45
好好收藏,谢谢楼主及各位!
作者: 344611734     时间: 2009-12-15 14:54
谢谢了。这样实用的帖子才能推动论坛整体水平的提高啊!
作者: o306336202     时间: 2009-12-15 16:04
很不错,支持一下!多谢了!
作者: tophu0041463     时间: 2009-12-21 13:26
好文章,谢谢
作者: hejunxin     时间: 2010-1-6 08:48
不错啊
作者: DosForXp     时间: 2010-2-10 10:24
谢谢提供,俺收藏了
作者: rocbibo     时间: 2010-3-1 20:25
复制收藏了,感谢版主及众多高手提供....
作者: stanleylo     时间: 2010-3-3 17:00
好东西就这样出来的,支持
作者: liuchaooe     时间: 2010-3-18 11:54
真的非常感谢楼主!我找了好长时间学习了
作者: qywjf     时间: 2010-3-20 11:09
大部分还是没看明白
作者: luuk     时间: 2010-3-21 17:17
你说,我怎么就连汉语都看不懂呢?继续研究ying
作者: luuk     时间: 2010-3-21 17:20
要是能在常用的字符后面加点例子就好啦。。。。。
作者: zaixinxiangnian     时间: 2010-3-26 03:27    标题: 运算

^是按位异或  等一些云运算符,这些东西是从那里学的,是大学还是////


谢谢你们的总结,,让我们学到也不少
作者: zaixinxiangnian     时间: 2010-3-29 01:08    标题: 太好了

感谢管理人员
作者: zaixinxiangnian     时间: 2010-3-29 22:00    标题: 提点小建意

对于初学者来说还是有点含糊,,,如果能加上个例子就再好不过了,,,有点难理解
作者: yulimin2121521     时间: 2010-4-12 17:56
整理的真好!真细心啊,谢谢整理啊,学习了
作者: willowchun     时间: 2010-4-27 21:44
太有用了……顶你一个……楼主……
作者: kexianlin     时间: 2010-6-7 20:26
帮大忙了,谢谢
作者: taqiao     时间: 2010-6-12 17:06
再看一遍
作者: Lying     时间: 2010-6-26 09:14
崇拜
作者: Lying     时间: 2010-6-26 10:38
领教
作者: m652301     时间: 2010-7-26 15:52
感谢分享
作者: boxman     时间: 2010-8-24 17:14
希望能给个示例。。。。。
作者: l3I452Esc     时间: 2010-9-1 19:46
@echo off
echo 太好了!!
echo 收起,,
exit
作者: l3I452Esc     时间: 2010-9-1 19:46
@echo off
echo 太好了!!
echo 收起,,
exit
作者: 676939481     时间: 2010-9-18 09:52
我弱弱的问一句:findstr命令 prompt命令是什么...
作者: 676939481     时间: 2010-9-18 09:52
我弱弱的问一句:findstr命令 prompt命令是什么...
作者: lixupeng     时间: 2010-10-13 16:20
收下了!
作者: wxs81514     时间: 2010-11-11 15:06
学习了,好多啊,看的头晕!
作者: wxs81514     时间: 2010-11-11 15:06
学习了,看看眼都花了!!
作者: Imworking     时间: 2010-11-29 11:30
于我而言是很实用的材料,
收藏了!
谢谢楼主分享!
作者: Imworking     时间: 2010-11-29 11:30
于我而言是很实用的材料,
收藏了!
谢谢楼主分享!
作者: zaixinxiangnian     时间: 2010-11-29 11:34
建议版主更改下,每个符号具个例子,那样才更容易理解
作者: axandal     时间: 2010-12-6 03:00
发现bat也是很强大的
作者: acaigg     时间: 2010-12-25 14:44
谢谢分享!!
作者: modestleaner     时间: 2011-1-15 14:19
perfect! 小菜正在纠结一些符号的意思。
作者: liushengzu     时间: 2018-8-8 08:54
XIEIXIE




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5