Board logo

标题: [文本处理] 如何把一些批处理命令直接输出到文本?? [打印本页]

作者: z18137    时间: 2018-8-23 03:43     标题: 如何把一些批处理命令直接输出到文本??

如题,想用批处理把【ver | find "5.1." > NUL && set lj=D:\Program Files\XYZ】输出到1.txt,可是按照批处理的常用输出惯例【echo ver | find "5.1." > NUL && set lj=D:\Program Files\XYZ>>1.txt】处理后,发现【1.txt】文件根本就没有被创建!
然后用【echo ^ver | find "5.1." > NUL && set lj=D:\Program Files\XYZ>>1.txt】,发现【1.txt】仍旧未被创建!
最后用【echo “ver | find "5.1." > NUL && set lj=D:\Program Files\星宇”>>1.txt】命令后,发现【1.txt】被创建了,但是里面的内容为:【ver | find "5.1." > NUL && set lj=D:\Program Files\星宇】前后多了个双引号啊,我只要【ver | find "5.1." > NUL && set lj=D:\Program Files\XYZ】该怎么写批处理啊?
作者: hlzj88    时间: 2018-8-23 06:19

  1. echo ver ^| find "5.1." ^> NUL ^&^& set lj^=D:\Program Files\XYZ>>1.txt
复制代码
完成这样的任务,要注意对具有 功能的  特殊符号进行转义,比如上面的 | & > = ,令它们作为一个普通字符进行输出,就没有问题了。
作者: Batcher    时间: 2018-8-23 08:34

特殊字符需要转义,推荐:
https://mp.weixin.qq.com/s/McvY4CiR-SYGaCha7lmjIw
作者: yhcfsr    时间: 2018-8-23 08:58

  1. @echo off
  2. set "str=ver | find "5.1." > NUL && set lj=D:\Program Files\XYZ"
  3. for /f "delims=" %%a in ("%str%") do >1.txt echo;%%a
复制代码

作者: z18137    时间: 2018-8-23 18:18

谢谢上面三位热心帮助我的朋友!




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