【问题标题】:How to pass a string containing double quotes to a BAT file as an argument如何将包含双引号的字符串作为参数传递给 BAT 文件
【发布时间】:2012-03-04 23:29:20
【问题描述】:

我的 C# 程序需要将一个字符串作为 BAT 文件的参数传递给 BAT 文件。该字符串可能包含任意字符,例如双引号、空格等。我尝试通过在其前加 ^ 来转义所有字符,但它不适用于双引号。我试图通过在双引号前加上“\”来转义双引号,但是当它被传递给 BAT 文件时,它会在参数中添加一个“\”。例如: 如果 mystring 是 “hello “there” &test”,则参数变为 “Hello \”there\” &test”。 如何将字符串“hello “there” &test” 作为参数传递?有人可以帮忙吗?

【问题讨论】:

    标签: c# command-line batch-file


    【解决方案1】:

    试试这个

    @"hello ""there"" &test"
    

    【讨论】:

    • 您能解释一下@ 的用途吗?
    • @ 用于逐字字符串文字。见link
    • 我认为当前的答案应该有效。如果没有,请告诉我们。
    • 是的,但它在外部字面量使用。这就是为什么您以前的版本不起作用的原因,否则它会让我感到惊讶。似乎一个带有双引号的@用于转义是可行的方法,+1 用于检查它与 MSDN 参考...
    • 你是对的。我做了类似于第一个示例的操作,但在 StringBuilder 中不是单个字符串。我怪手指太快了。
    猜你喜欢
    • 2011-02-13
    • 1970-01-01
    • 2018-03-26
    • 2019-08-20
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2019-12-23
    相关资源
    最近更新 更多