问题标签 [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.

0 投票
2 回答
3840 浏览

c# - System.IO.Directory.Delete 方法只是将文件发送到回收站。有什么办法永久删除?

在 .NET 中,我正在运行代码Directory.Delete(tempdir, true);以永久删除目录和所有包含的文件。但是,此删除方法仅将文件发送到回收站,而不是永久删除它们。有没有办法强制Directory.Delete永久删除目录和包含的文件,而不是仅仅移动到回收站?我找不到任何其他方法重载来做到这一点。

编辑:正如尼尔指出的那样,这不是实际发生的事情。Directory.Delete确实是永久删除目录和包含的文件,而不是将它们发送到回收站。抱歉有任何困惑

0 投票
2 回答
162 浏览

c# - c# System.IO 如何找到给定文件夹的所有子文件夹?

这是我到目前为止所做的:

结果这给了我指定文件夹的第一个子文件夹,问题是我需要找到指定文件夹中的所有子文件夹、子子文件夹、子子文件夹等和文件,然后用这个缩进输出它们:

  • 子文件夹 1
    • 子子文件夹1
      • 子子子文件夹1
      • 子子文件夹File1
    • 子子文件夹2
  • 子文件夹 2
    • 子文件夹File1

我已经尝试了很多次,但我不知道怎么做,也许我错过了一些命令(这​​是我第一次用 c# System.IO 编程)你能给我一些提示或告诉我吗我应该使用什么命令?我要疯了。

0 投票
0 回答
296 浏览

vb.net - %USERPROFILE%\My Documents 上的 Directory.GetDirectories

我正在为我的程序创建一个用户控件,它将模仿 OpenFileDialog。当我导航到我正在使用的目录时

获取目录的内容。

当我导航到 %USERPROFILE%(在我的情况下是 C:\Users*UserName*)并且有一个隐藏的 My Documents 文件夹和 Documents 文件夹。

当您导航到“我的文档”文件夹时,它会将您带到“文档”文件夹,但它会出现在列表中

我的问题是,有没有办法在代码中找到 My Documents 文件夹指向的位置?

我知道我可以通过使用找到“我的文档”文件夹的位置

但我需要找到每个目录将保存到的实际路径,以防它与实际地址不同。

如果不可能,我愿意接受替代方案。

谢谢

0 投票
1 回答
207 浏览

.net - 从目录加载文件并添加到组合框

我目前正在尝试将目录中存在的任何文件添加到组合框中。

执行此程序时,它说The given path's format is not supported

  • 我必须添加新的头文件吗?
  • 我的编码有什么问题吗?
0 投票
0 回答
20 浏览

c# - 从单元测试操作时如何访问主项目目录中的文件?

我正在创建一个 XAML 应用程序,它可以接受,作为一个输入单个 Excel 文件的路径,作为第二个输入,一个包含多个 Excel 文件的目录的路径。一旦指定了这些,应用程序会将目录中的所有列表与指定为第一个参数的文件进行比较。

我遇到的问题是Directory.GetFiles()针对运行测试的目录,而 Excel 互操作_Workbook.SaveAs()方法针对的是实际 XAML 项目的目录。我希望项目代码在查找创建的文件时定位到它自己的目录,而不是定位到测试项目目录,这是由Directory.GetFiles().

为了抢占这个被标记为重复的问题,这个问题专门指的是正在测试的项目中的代码,而不是测试本身中的代码。

这是我的(不完整,还没有断言)单元测试:

显然,我希望能够在与实际用例最相似的条件下测试这个工具,而这个问题阻止了我这样做。有没有办法指定我要遍历我创建的文件,而不是测试项目目录中类似命名的目录?

0 投票
3 回答
84 浏览

c# - 我应该处理 StreamReaders/Writers 的副本吗

所以我有一个以 StreamReader 作为变量的类。StreamReader 是通过构造函数设置的。当我使用这个类时,我在类之外创建了一个 StreamReader 并通过它。然后我处理通过类的构造函数传递的 StreamReader 实例。我需要在类中处理 StreamReader 实例吗?

代码:

0 投票
1 回答
222 浏览

c# - Uwp 无法列出或访问 .lnk 或 url 文件

在我进入更多细节之前,我想指出 uwp 现在可以知道具有系统范围的文件访问权限,因此这个问题与此不完全相关。

这样一来,问题就很容易解释了,uwp 无法查询或访问链接 (.lnk) 或 weblink 文件以及我还不知道的其他可能的文件。

更具体地说,在System.ioWindows.Storage命名空间中找到的工具无法列出 .lnk 和 url 文件。

它们根本不会出现在像System.IO.Directory.GetFiles StorageItemQueryResult.GetFiles()

StorageFile.GetFileFromPathAsync()同时也像或System.IO.File.Open() 将导致System.UnauthorizedAccessException: Access is denied之类的函数允许从路径直接访问 。

我很清楚这可能永远不会得到回答,唯一的一线希望是uwp 资源管理器中的隐藏构建确实可以列出确认文件。

0 投票
1 回答
151 浏览

system.io.file - LiteDB 是否支持连接字符串中的长文件名(>=260 字符)

我使用 litedb 作为文件索引,借此我重新创建文件共享的目录结构并将 litedb.db 文件拖放到我的层次结构中的每个目录中。我遇到的问题似乎是目录结构长度超过 260 个字符(请参阅下面的错误消息)。连接到 litedb 时,有没有办法在连接字符串中启用对长文件名的支持?或者,有没有一种方法可以使用其他方法(例如 file.open AlphaFS)来实例化我的 litedb 实例。

0 投票
2 回答
568 浏览

c# - System.IO.Directory.Exists 无法按预期工作

当字符串 "D:\test\..." 传递给System.IO.Directory.Exists方法时,它会True在我的机器上返回。我检查了以下代码;

即使指定位置不存在名称为“...”(三点)的目录,也会发生这种情况。

对此的进一步调查表明,不知何故,它只是通过完全忽略字符串的最后一部分来检查“D:”。由于父目录存在,它返回true。

我想知道是否有任何方法可以在不切断尾随点的情况下进行检查?

是否存在这种Directory.Exists方法的结果可能与预期不同的情况?

更新: 如果我在 Windows 资源管理器的地址栏中输入相同的字符串“D:\test\...”并按回车,则可以识别它找不到这样的目录。有没有办法获得类似的行为?

注意:我知道具有这样名称的目录不存在,但我从用户那里得到输入字符串,所以这个方法的输入可以是任何东西。

0 投票
1 回答
481 浏览

vb.net - Visual Basic:从目录中读取文件名

我正在尝试编写一个简单的 VB 程序来读取给定目录中的文件名。这是我写的:

由于某种原因,Visual Studio 无法识别 lineDim FileNames....语句,因此拒绝处理该For Each....语句。

提前感谢您提供的任何帮助或建议。