无忧启动论坛

标题: 批处理高手请进有问题请教~特难的问题! [打印本页]

作者: FLOPPY    时间: 2011-9-16 15:31
标题: 批处理高手请进有问题请教~特难的问题!
test1.bat:
@echo off
for %%a in (""a b "c"") do @echo %%a
pause
for %%a in (""aa bb" "cc"") do @echo %%a
pause

运行结果:


test2.bat:
@echo off
for %%a in (""a b" "c"") do @echo %%a
pause
for /f %%a in (""a b" "c"") do @echo %%a
pause
for /f "delims=*" %%a in (""a b" "c"") do @echo %%a
pause
运行结果:


以上结果真是难于理解~请对cmd预处理机制了解深的朋友分析一下。

[ 本帖最后由 FLOPPY 于 2011-9-16 15:39 编辑 ]
作者: siming0803    时间: 2011-9-17 00:43
玩的这么复杂啊

[ 本帖最后由 siming0803 于 2011-9-17 08:10 编辑 ]
作者: 2011aaaaa0808    时间: 2011-9-17 02:31
@echo off
for %%a in (a,b,c) do (echo %%a)
pause
作者: 2011aaaaa0808    时间: 2011-9-17 02:35
( )中的内容,空格或逗号被当成参数的分割符

(""aa bb" "cc"")中的内容,""aa是一个参数,bb"是一个参数,"cc""是一个参数
作者: dos时代菜鸟    时间: 2011-9-17 10:08
用 ^ 特指一下 " 号,看看
作者: jh1688    时间: 2011-9-19 08:26
楼主,你可不可以说出你要达到的目的,而不是……
作者: x9tian    时间: 2011-9-20 18:01
批处理,有段话说得很清楚,引号的优先级是非常之高的 它几乎是高于任何符号的,它有点相当于C语言里的 !=
当使用" 号时,后面的任何内容会原样输出直到出现"号对为止。

批处理,玩多了有时多看看帮助文档有益于无谓的试验。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3