Directory.Exists(@“SERVERIPaFolderFolder”);始终返回 fal

本文关键字:fal 返回 Folder Exists SERVERIPaFolder Directory | 更新日期: 2023-09-27 18:28:45

以下路径始终返回false

Directory.Exists(@"''SERVERIP'aFolder'bFolder");
// where SERVERIP is the server-IP which is being accessed using Impersonation

调试代码后,它会double-slashes放在Debugger中。

我已经访问了上面的文件路径,没有WindowsExplorer中的@double-quotes

我做错了什么?

[ 代码将在network上运行 ]

Directory.Exists(@“SERVERIPaFolderFolder”);始终返回 fal

由于

Visual-Studio使用default-paths,问题可能出在paths-[源/目标](两者或其中一个[源/目标]可能导致问题(。 因此,让我解释一下如何逐步检查路径是否correct/incorrect


正在配置 ** 源路径 **

有时,此路径DRIVE:'ProgramFiles'IISExpress(或取决于 IIS 安装位置的其他路径(与您在input中给出的SOURCE-PATH连接起来 若要解决此问题,请按照/验证以下步骤:

  • 确保您正在使用的SOURCE-PATHFileProject-Folder
  • 要访问SOURCE-PATHFile。始终使用以下路径/方式:
// 1. SOURCE-PATH + fileName with Extension<br> 
Server.MapPath("~'FolderInsideProjectFolder'", "fileName.extension");

正在配置 ** 目标路径(到映射网络(**

如果您输入的路径包含一些单词mispelled或者您无权访问指定的Server-IP[DestinationServerIP],则此路径会产生问题。若要解决此问题,请按照/验证以下步骤:

  • 在访问DESTINATION-PATHFile之前,请确保您引用的 IP 地址可供运行应用程序代码的帐户访问。
    • 了解如何在帐户下运行应用程序。请参阅模拟
  • 要访问DESTINATION-PATHFile。始终使用以下路径/方式:
// 2. DESTINATION-PATH + fileName with Extension
@"''SERVERIP'aFolder'bFolder" + "fileName.extension";

注意:请记住,可以通过寻址其完全限定地址来检查SOURCE-PATH是否(存在/不存在(,在这种情况下,如果存在,它将返回true(Windows资源管理器在Address Bar (Windows-Explorer)中显示的完整路径,如DRIVE:/....../

额外信息:(因为它是基本意图(

local-systemnetworked-mapped drive/path Copy文件的一行指令是:

System.IO.File.Copy(
     Server.MapPath("~'FolderInsideProjectFolder'", "fileName.extension"), 
     @"''SERVERIP'aFolder'bFolder" + "fileName.extension" 
     [, true ] // Optional if you want the file to be over-written or not
);

请告知,如果还有什么东西没有被清除(但经过一些很好的搜索☋ ☛(

很多时候,当用户(人类、系统用户(如IIS_IUSR或应用程序(缺乏所需权限时,我看到文件(或目录(访问问题。

根据提问者面临类似问题的问题,我相信这可能会对您有所帮助。

如果有帮助,请告诉我们。