我有一个字符串,其中包含一个可执行文件的路径,该文件中可能有也可能没有命令行参数。
例如:
"C:\Foo\Bar.exe"
"C:\Foo\Bar.exe /test"
"C:\Foo\Bar.exe {0}"
"C:\Foo\Bar.exe -snafu"
我正在尝试将字符串分解为路径部分和参数部分。参数部分几乎可以是任何格式。但是 IO.Path 函数假定字符串是一条没有争论的路径。例如,如果我打电话:
IO.Path.GetFileName(path)
它返回Bar.exe /test
,Bar.exe {0}
或Bar.exe -snafu
当我在命令提示符下运行它时,Windows 显然可以分辨出区别,因此必须有某种方法来利用现有功能。
如果需要,我可以用引号将字符串的路径部分括起来。但随后IO.Path
通话失败。例如:
? IO.Path.GetFileName("""C:\Windows\write.exe"" {0}")
引发参数异常:路径中有非法字符。