Dan*_*Dan 5 dos pipe batch-file call
在 DOS 批处理脚本(需要在 Win 200x 和 Win7 环境中运行)中,我需要将特定字符(带引号)传递给另一个可执行文件;例如
doparse -delimeter "$"
Run Code Online (Sandbox Code Playgroud)
一般来说,这有效:
CALL CMD /C "doparse -delimeter "$""
Run Code Online (Sandbox Code Playgroud)
不幸的是,我需要将管道字符指定为分隔符(这是必需的)。我预计以下内容会起作用:
CALL CMD /C "doparse -delimeter "^|""
Run Code Online (Sandbox Code Playgroud)
但是当我运行脚本时,我根本看不到这一行的任何输出(例如,如果我用一些不存在的名称替换“doparse”,则没有错误消息)。
我尝试了各种转义字符组合,但无法使其正常工作。是否可以?(不幸的是,必须通过批处理脚本完成)。
谢谢
以下对我有用:
call delim -delimiter "|"
Run Code Online (Sandbox Code Playgroud)
然后在被调用的批处理中像这样使用它:
setlocal enabledelayedexpansion
set "delim=%~2"
echo Delimiter: !delim!
Run Code Online (Sandbox Code Playgroud)