0
if (Fubrowse.HasFile)
{
  string path = Path.GetFullPath(Fubrowse.PostedFile.FileName);
  //string root = Path.GetPathRoot(path);
  GetFilesFromDirectory(path.Substring(0, path.LastIndexOf("\\")));
}
else
  GeneralClass.ShowMessageBox("Please Select File First.");
}

private void GetFilesFromDirectory(string DirPath)
{
  try
  { 
    DirectoryInfo Dir = new DirectoryInfo(DirPath);
    FileInfo[] FileList = Dir.GetFiles("*.cs", SearchOption.AllDirectories);
    foreach (FileInfo FI in FileList)

在这里,路径是c:\windows\system32\inetsrv\config\FileList我想在数组中获取所有子目录的文件名。

4

2 回答 2

0

运行您的代码的 Windows 帐户需要对该文件夹的读取权限(通常需要管理员权限)。

  • 如果你从 Visual Studio 运行程序,那是你的帐户。以管理员身份运行 VS,您的代码应该可以正常工作。
  • 如果它是 Web 应用程序,则应用程序池帐户需要对该文件夹具有读取权限。
  • 如果它是 Windows 服务,则主机帐户需要访问权限。
于 2012-09-07T05:11:18.580 回答
0

我遇到过同样的问题。我无法从中获取文件,C:\Windows\system32\intesrv\config因为我的系统是 64 位的,并且我的请求重定向到此答案C:\Windows\SysWOW64\system32\intesrv\config 给出了更多解释。

PS。我的答案留在这里,只为那些将要在未来寻找的人

于 2018-03-03T02:54:36.830 回答