CMD.exe引用一个字符串

时间:2010-06-26 08:10:34

标签: perl shell cmd quote

正确引用单个命令行参数的确切方法是什么? 例如,我在变量$X中有一些随机文本。我需要以某种方式引用它,以便我打电话

system("program.exe " + $X_QUOTED);

然后我的program.exe的argv[1]必须匹配原始的不带引号的$X

想象一下我有这个program.exe:

int main(const char **argv, int){ puts(argv[1]); }

和命令的输出:“program xxxx”是:

"test |test

xxxx必须是什么?我试图添加引号和所有这些技巧,但是我总是可以添加一些其他类型的输出,这会破坏我引用cmd行参数的方法。

1 个答案:

答案 0 :(得分:2)

H:>args """test |test"
argv[0] = args
argv[1] = "test |test

显然:

  • 将每个引号替换为""
  • 用引号
  • 包围参数