.NET:如何使用临时文件名传递命令行参数

时间:2010-09-16 03:29:48

标签: c# .net windows .net-2.0

这是.NET 2.0 WinForms。我有一些像这样的代码

string str = Path.GetTempFileName();
Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.Arguments = str
psi.FileName = <some executable >
p.StartInfo = psi;
p.Start();

现在,在“已启动”过程中,我通过说args[0]获取临时文件名。在Win XP上,由于临时文件位于C:\Documents and Settings\...,因此导致出现问题。 该空间导致问题,因此args[0]C:\Documents

我该如何解决这个问题?我只需将str放在引号中吗?或者我可以以某种方式忽略空格?

2 个答案:

答案 0 :(得分:1)

是的,请使用引号。

答案 1 :(得分:0)

您可以使用双引号将路径包装起来,也可以使用原生GetShortPathName函数将路径转换为短(8.3)表示。