Board logo

标题: [其他] for语句的in ()中使用管道命令为什么要使用转义符 [打印本页]

作者: riscrisc    时间: 2017-5-4 16:35     标题: for语句的in ()中使用管道命令为什么要使用转义符

本帖最后由 pcl_test 于 2017-5-9 21:02 编辑

【语法】for中的转义字符
小弟最近看到一段代码,其中()中的参数应该是想拿ipconfig命令的输出当做findstr的输入,然后查找还有字符串“地址”的内容,但是小弟不明白管道命令前为何要加转义字符?
转移字符本来的用意应该是想屏蔽符号的特殊功能而只输出符号本身,但在下面的代码里|应该是当做管道命令使用而不是当一个普通的符号,所以小弟就弄不明白为何在这里要加转移字符。
如果去掉这个转义字符执行会报错“此处不应该有|”
for /f "delims=" %%a in ('ipconfig^|findstr /i "地址"') do set var=%%a
作者: Batcher    时间: 2017-5-4 17:02

http://bbs.bathome.net/thread-1290-2-1.html#pid6306
作者: 老刘1号    时间: 2017-5-4 20:04

预处理机制的问题
看管理兄的链接
作者: riscrisc    时间: 2017-5-9 20:26

谢谢楼上两位指点,800年前的帖子都翻出来了,太牛逼了
作者: ShowCode    时间: 2017-5-10 00:40

回复 4# riscrisc


    更有可能的是,这个问题已经被问过800多遍了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2