Access Path.GetTempPath();失败

时间:2011-01-21 13:05:51

标签: c# .net filesystems

我想在我的系统上遇到一个关于环境变量TMP的特殊问题。

此变量的定义如下:

TMP=c:\profiles\myUser\LOKALE~1\temp

通过.net应用程序写入此位置是不可能的,而通过Windows资源管理器我可以轻松创建文件。

任何想法如何解决这个问题?

此致 的MacX

2 个答案:

答案 0 :(得分:4)

实际上根据MSDN:

参考Path.GetTempPath
此方法按以下顺序检查环境变量是否存在,并使用找到的第一个路径:

  • TMP指定的路径 环境变量。
  • TEMP指定的路径 环境变量。
  • USERPROFILE指定的路径 环境变量。
  • Windows目录。

它没有指定它是否检查正在运行的进程是否具有写访问权限,因此取决于它可能无法写入的进程权限。

答案 1 :(得分:0)

问题不在于变量本身,而在于我访问文件以打开它的方式。 我尝试通过console-parameter打开文件,如果路径不是quotet,则将空白视为分隔符。

excel.exe c:\path tofile\excelfile.xls
应该引用

并且看起来像这样

excel.exe "c:\path tofile\excelfile.xls"

就是这样。

因为我自己没有编写应用程序,所以我必须在源代码中查看这部分内容。但是,非常感谢,提示。

的MacX