问题标签 [system.io.directory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - 获取文件的创建日期或修改日期?
我想获取创建日期、上次修改日期以及与文件相关的其他详细信息,并将它们添加到 datagridview 中。目前我正在使用directory.getfiles
. 这是我到目前为止得到的:
c# - Directory.Move 导致目录不是空错误
我有一个在数百台服务器上运行的商业 ASP.NET 应用程序。当应用程序尝试移动通过 UNC 语法访问的文件共享上的目录时,一位客户遇到以下错误。
堆栈跟踪:
代码如下所示(简化):
我应该注意,当目录为空时代码会成功。当它包含文件时它应该可以工作,实际上它对其他客户也有效。
ASP.NET 应用程序在 IIS 中使用应用程序池标识的 AD 帐户运行。我已经确认它对文件共享目录具有“修改”权限。
什么样的服务器配置或权限条件会触发此错误?我自己进行了许多测试,但无法重现。
c# - Directory.CreateDirectory 因无效字符而失败
我面临的问题是我的路径字符串通过了对Path.GetInvalidPathChars()的检查,但在尝试创建目录时失败。
知道可能是什么问题吗?
c# - 将 Windows 身份验证凭据设置为网站以创建目录
所以,我有两个应用程序,一个是 Web,另一个是控制台应用程序。控制台应用程序在远程服务器中创建目录/文件夹和 pdf。该网站(在 IIS 中运行)具有启动该控制台应用程序的 .aspx 文档。运行控制台应用程序不会给我带来问题,当我运行网站并且无法创建目录和 pdf 时出现问题。这是错误:
该服务器具有凭据,我认为当我仅运行控制台应用程序时,它会在输入之前获取凭据(因为要访问远程服务器,我需要输入凭据才能查看该服务器中的文件夹)但是当我运行网站时,再次询问凭据(未显示提示),这就是拒绝访问的原因。
我正在使用 C#System.IO.Directory.Exists(route);
来检查是否存在,如果不存在System.IO.Directory.CreateDirectory(route);
有没有办法在代码、IIS 或其他方法中设置该服务器的凭据?
c# - Cannot Get Application Folder Path in Release Mode (.NET)
In Debug Mode, I can successfully obtain the directory of the executable path, and here is a reference link on how that is achieved:
Obtaining Application Folder Path
The problem is that none of these methods are effective in Release Mode. It doesn't error out, but the line of code gets skipped over completely. An example of a code snippet that won't execute is:
In debug mode, the above executes properly (strDir will contain the appropriate directory). In release mode, the above will skip execution completely, leaving strDir as Nothing or empty. Any ideas on what I can do?
Thanks!
c# - Linq 无法处理字符串列表
我正在尝试从目录中获取包含文件路径的字符串列表。用户将以逗号分隔的格式指定文件扩展名,例如"gif, jpg"
. 这是我的代码。
该代码工作正常,但它只检索第一个扩展的结果,而不检索下一个后续扩展的结果。它只是忽略了在 foreach 循环内的第一行中指定的 Linq,该循环初始化 SearchedFiles 等于一个具有 0 个结果的列表。我知道拆分功能似乎没有提供后续扩展,但它工作正常。我也尝试过指定扩展名,.
但没有奏效。
注意:我不想在目录内多次搜索。
c# - Directory.GetFiles 使用 SearchPattern 返回意外结果
我正在开发一个处理大量文件(超过 50 000 个文件)的批处理程序,并且我在使用该Directory.GetFiles
方法时遇到了奇怪的行为。
在此过程中,我移动了与以下搜索模式“*.pdf”匹配的文件,并通过该Directory.GetFiles
方法获取了文件:我很惊讶地看到有时我移动了 .pdfa 文件。
所以我检查了文档,它清楚地指出,如果搜索模式包含一个带有 3 个字母的扩展名,那么每个扩展名以该扩展名开头的文件都将被返回。
我用一个简单的程序进行了测试,它的行为不像文档中所说的那样,它只在非常罕见的情况下表现得像这样。
使用此代码:
我有这个结果:
你对这种行为有什么解释吗?
c# - 如何修复这个小(可能很简单)的 DirectoryInfo 语法错误?
很直接。按一个按钮,从对话框中选择一个路径,搜索路径的子目录,并在消息框中显示它们。但是遇到了几个问题。
该行string[] subdirectories = DirectoryInfo.GetDirectories(path);
表示它需要非静态字段的对象引用。我已经声明path
给它要搜索的字符串。我对 Directory 类(不是类)使用了完全相同的代码和语法行,DirectoryInfo
这是合法的。但是,我在使用时遇到了问题Directory.GetDirectories
。由于某种原因,它正在寻找路径的父目录而不是。subdirectories
如果有人可以阐明:
A - 为什么我会收到此语法错误
B - 为什么它返回父目录而不是路径中的子目录
那你就是英雄了。非常感谢
PS我对编程完全陌生,还不知道枚举/枚举是什么,所以如果它与此有关,我可能会很感激一个小例子或它的一些背景。
c# - 确定项目根目录的最佳方法 - 即使在 Web 项目中
我有一个类的构造函数,它需要在根目录中查找设置文件。这对于大多数项目类型都很好,我抓取这样的目录:
new FileInfo(typeOfThisClass.GetTypeInfo().Assembly.Location).DirectoryName
但是,如果我从 Web 项目(如 Web API)中执行构造函数,这将不起作用。相反,我会得到一个临时目录的路径,而不是当前项目的根目录,比如
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\73891a9e\147b8ade\assembly\dl3\7d1ac62b\0064ea47_c6bad201
过去,我使用它来获取 Web 项目的根目录:
HttpRuntime.AppDomainAppPath
但是,有问题的构造函数无法访问 HttpRuntime,因为它位于自己的封装程序集中,应该不知道与 Web 项目相关的任何内容。我不想传入字符串,因为我要求我的构造函数是无参数的。
那么我怎样才能以一致的方式获取根目录,该方式适用于任何项目,包括 Web 项目?
vb.net - “DirectoryInfo”类型的值无法转换为“String”
我正在尝试在我的 .exe 文件所在的父文件夹中启动一个 .exe 文件。
不幸的是,当这样做时:
该程序给了我一个错误:
“DirectoryInfo”的值类型不能转换为“String”。
它与 完美配合CurrentDirectory
,但不适用于GetParent
。即使我只是说:
我认为它们都返回相同的文件类型,但 Visual Studio 告诉我(在对GetParent
方法进行着色时)GetParent
返回一个DirectoryInfo
值。
有什么方法可以将它转换为字符串,或者能够根据我的需要使用它?