我使用Environment.GetFolderPath(Environment.SpecialFolder,并且该文件没有任何扩展名)从路径+文件名设置字符串变量 这在Windows Server 2003和xp上正常工作,但在Windows 7和Windows Server 2008上无法正常工作
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "testxyz");
if (File.Exists(path))
{return true;}
else
{return false;}
答案 0 :(得分:2)
请检查两件事:
工作示例(win7 32位):
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace testPath
{
class Program
{
static void Main(string[] args)
{
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "main.cpl");
Console.WriteLine(File.Exists(path));
Console.ReadLine();
}
}
}
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您的进程没有权限,File.Exists
将返回false并且不会抛出异常。
尝试打开或枚举本地目录中的文件,看看是否有UnauthorizedAccessException
。