找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25378|回复: 4

[其他] for语句的in ()中使用管道命令为什么要使用转义符

[复制链接]
发表于 2017-5-4 16:35:05 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-5-9 21:02 编辑

【语法】for中的转义字符
小弟最近看到一段代码,其中()中的参数应该是想拿ipconfig命令的输出当做findstr的输入,然后查找还有字符串“地址”的内容,但是小弟不明白管道命令前为何要加转义字符?
转移字符本来的用意应该是想屏蔽符号的特殊功能而只输出符号本身,但在下面的代码里|应该是当做管道命令使用而不是当一个普通的符号,所以小弟就弄不明白为何在这里要加转移字符。
如果去掉这个转义字符执行会报错“此处不应该有|”
for /f "delims=" %%a in ('ipconfig^|findstr /i "地址"') do set var=%%a
发表于 2017-5-4 17:02:18 | 显示全部楼层
发表于 2017-5-4 20:04:40 | 显示全部楼层
预处理机制的问题
看管理兄的链接
 楼主| 发表于 2017-5-9 20:26:44 | 显示全部楼层
谢谢楼上两位指点,800年前的帖子都翻出来了,太牛逼了
发表于 2017-5-10 00:40:38 | 显示全部楼层
回复 4# riscrisc


    更有可能的是,这个问题已经被问过800多遍了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 16:05 , Processed in 0.018487 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表