包含反斜杠的Java命令行参数

包含反斜杠的Java命令行参数,java,command-line-interface,backslash,Java,Command Line Interface,Backslash,我想运行类似于以下内容的程序: java MyProgram C:\Path\To\My\File 当我这样做并输出第一个参数的内容时,它会输出: C:PathToMyFile 然而,这是可行的: java MyProgram "C:\Path\To\My\File" 但我希望能够执行第一个命令,而不是第二个命令。如何实现这一点?字符选择器用于“转义”特殊字符。这意味着它告诉程序忽略它们,或者不要对它们做任何特殊的事情。要实现这一点,只需使用\\而不是\。这将跳过\。所以使用 C:\\Pa

我想运行类似于以下内容的程序:

java MyProgram C:\Path\To\My\File
当我这样做并输出第一个参数的内容时,它会输出:

C:PathToMyFile
然而,这是可行的:

java MyProgram "C:\Path\To\My\File"

但我希望能够执行第一个命令,而不是第二个命令。如何实现这一点?

字符选择器用于“转义”特殊字符。这意味着它告诉程序忽略它们,或者不要对它们做任何特殊的事情。要实现这一点,只需使用
\\
而不是
\
。这将跳过
\
。所以使用

C:\\Path\\To\\My\\File

但是我希望能够执行第一个命令而不是第二个命令为什么?将来我希望能够执行java MyProgram PathA PathB PathC。。。。在所有这些路径中添加引号有点乏味。我基本上希望能够复制和粘贴所有这些路径,而无需更改任何内容。您会发现替代方法更繁琐。请注意,Java应该足够聪明,能够理解像
C:/path/to/My/File
这样的路径,它不需要在命令提示符下转义。您运行此操作的是哪个shell或终端程序,你是如何产生产出的?在常规Windows命令提示符中,反斜杠并不特殊,也不需要转义。尽管使用引号是一种很好的做法,但在文件名中有空格或其他特殊字符的情况下。这些反斜杠可能会在意外的时刻消失,比如
printf
程序内部的处理。你能包括你的代码吗?