我有一个Windows应用程序,我需要调用桌面快捷方式和一些命令行参数。
我已经做了好几千次了,但是这个有点不一样。 这个使用@12345 (以@符号开头),而不是像-e 12345或-example 12345这样的普通命令行参数。
Windows快捷方式不喜欢这个参数紧跟在可执行文件名称后面,它只是将所有东西都分离出来。 我不知道为什么。
例如:
c:\example\example.exe @12345 -e9876作为“目标”,保存时,将所有参数c:\example\example.exe @12345 -e9876 ,只留下c:\example\example.exe作为目标。
但是 c:\example\example.exe -e9876 @12345工作得很好。 它保存和validation,一切都很好。
不过,我需要@参数是命令中的第一个参数。 除了像在batch file中打包命令和调用批处理之外,我如何将@符号作为Windows快捷方式中的第一个命令行参数?
谁知道? … Windows显然将@字符视为分隔符。 Windows命令将只解释命令中的第一个元素…所以它有效地截断其余的。 显然,你可以通过提供一个^来覆盖这个行为来逃避这个符号。
即
c:\example\example.exe ^@12345 -e9876