在DOS批处理脚本中(需要在Win 200x和Win7环境中运行),我需要将特定字符(用引号引起来)传递给另一个可执行文件;例如

 doparse -delimeter "$"

总的来说,这是可行的:
 CALL CMD /C "doparse -delimeter "$""

不幸的是,我需要指定管道字符作为分隔符(这是必需的)。我期望以下方法会起作用:
 CALL CMD /C "doparse -delimeter "^|""

但是,当我运行脚本时,此行完全看不到任何输出(例如,如果我用一些不存在的名称替换“doparse”,则不会显示任何错误消息)。

我尝试了转义字符的各种组合,但无法使其正常工作。是否可以? (不幸的是,必须通过批处理脚本来完成)。

谢谢

最佳答案

以下对我有用:

call delim -delimiter "|"

然后在调用的批处理中像这样使用它:
setlocal enabledelayedexpansion
set "delim=%~2"
echo Delimiter: !delim!

10-06 04:11