【发布时间】:2011-07-27 03:54:38
【问题描述】:
在 DOS 批处理脚本(需要在 Win 200x 和 Win7 环境中运行)中,我需要将一个特定字符(用引号括起来)传递给另一个可执行文件;例如
doparse -delimeter "$"
一般来说这是可行的:
CALL CMD /C "doparse -delimeter "$""
不幸的是,我需要将竖线字符指定为分隔符(这是一项要求)。我预计以下内容会起作用:
CALL CMD /C "doparse -delimeter "^|""
但是当我运行脚本时,我根本看不到这一行的任何输出(例如,如果我用一些不存在的名称替换“doparse”,则没有错误消息)。
我尝试了各种转义字符组合,但无法正常工作。可能吗? (不幸的是,必须通过批处理脚本完成)。
谢谢
【问题讨论】:
-
你为什么使用
CMD /C?只有在不支持 CALL 语法的旧版本 DOS 中才需要从另一个批处理文件调用一个批处理文件。此外,没有必要将参数引用到CMD /C,您正在考虑sh -c,它确实需要一个引用参数。
标签: batch-file dos call pipe