中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 08:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 救急求教,如何把|当符号输出而不是命令 查看 884 回复 3
楼 主 救急求教,如何把|当符号输出而不是命令 发表于 2007-02-01 01:34 ·  中国 重庆 合川区 电信
新手上路
积分 8
发帖 4
注册 2005-08-02 18:09
21年会员
UID 41290
状态 离线
我想实现输出在一文本中这样一个格式的批处理
00-5E-8A-EE-8D-0D=192.168.0.37|37-YZ

我做的批处理如下
ipconfig /all >e:\ipconfig.txt
find "Physical Address" e:\ipconfig.txt >e:\phyaddr.txt
for /f "skip=2 tokens=12" %%M in (e:\phyaddr.txt) do set Mac=%%M
;问题在这里
echo %Mac%=192.168.0.%1|%1-YZ >>c:\1.txt
中间的 | 和dos下的管道命令相同如果改成
echo %Mac%=192.168.0.%1"|"%1-YZ >>c:\1.txt
输出格式又会变成

00-5E-8A-EE-8D-0D=192.168.0.37"|"37-YZ
请高手指点有没有办法

[ Last edited by kuzei on 2007-2-1 at 01:40 AM ]
2 发表于 2007-02-01 01:35 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  写成 echo %Mac%=192.168.0.%1^|%1-YZ >>c:\1.txt。

[ Last edited by namejm on 2007-1-31 at 12:47 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2007-02-01 01:50 ·  中国 重庆 合川区 电信
新手上路
积分 8
发帖 4
注册 2005-08-02 18:09
21年会员
UID 41290
状态 离线
Originally posted by namejm at 2007-2-1 01:35:
  写成 echo %Mac%=192.168.0.%1^|%1-YZ >>c:\1.txt。

[ Last edited by namejm on 2007-1-31 at 12:47 PM ]



测试可行~十分感谢
能不能说说^符号都起什么作用
4 ^符号的作用 发表于 2007-02-01 15:39 ·  中国 浙江 杭州 华数
初级用户
积分 116
发帖 28
注册 2007-01-03 05:21
19年会员
UID 75318
性别 男
状态 离线
The ampersand (&), pipe (|), and parentheses ( ) are special characters that must be preceded by the escape character (^) or quotation marks when you pass them as arguments.

& | ( ) 都是特殊字符,当这些字符当作参数传递时,必须加上转义字符^或者加上引号。
论坛跳转: