标签: delete-directory

如何在C#中删除包含只读文件的目录?

我需要删除包含只读文件的目录.哪种方法更好:

  • 使用DirectoryInfo.Delete(),或,

  • ManagementObject.InvokeMethod("Delete")

有了DirectoryInfo.Delete(),我必须手动关闭每个文件的只读属性,但ManagementObject.InvokeMethod("Delete")似乎不需要.有没有人比另一个人更优先?

示例代码(test.txt是只读的).

第一种方式:

DirectoryInfo dir = new DirectoryInfo(@"C:\Users\David\Desktop\");
dir.CreateSubdirectory("Test");

DirectoryInfo test = new DirectoryInfo(@"C:\Users\David\Desktop\Test\");
File.Copy(@"C:\Users\David\Desktop\test.txt", @"C:\Users\David\Desktop\Test\test.txt");
File.SetAttributes(@"C:\Users\David\Desktop\Test\test.txt", FileAttributes.Archive);
test.Delete(true);
Run Code Online (Sandbox Code Playgroud)

第二种方式:

DirectoryInfo dir = new DirectoryInfo(@"C:\Users\David\Desktop\");
dir.CreateSubdirectory("Test");

DirectoryInfo test = new DirectoryInfo(@"C:\Users\David\Desktop\Test\");
File.Copy(@"C:\Users\David\Desktop\test.txt", @"C:\Users\David\Desktop\Test\test.txt");

string folder = @"C:\Users\David\Desktop\Test";
string dirObject = "Win32_Directory.Name='" + folder + "'";
using (ManagementObject managementObject = new ManagementObject(dirObject))
{
    managementObject.Get();
    ManagementBaseObject outParams = managementObject.InvokeMethod("Delete", null,
    null);
    // ReturnValue should be 0, else failure
    if (Convert.ToInt32(outParams.Properties["ReturnValue"].Value) != 0) …
Run Code Online (Sandbox Code Playgroud)

c# directory readonly delete-directory

54
推荐指数
4
解决办法
5万
查看次数

如何在C++中删除文件夹?

如何使用C++删除文件夹?

如果不存在跨平台方式,那么如何为最流行的操作系统 - Windows,Linux,Mac,iOS,Android?POSIX解决方案是否适用于所有这些解决方案?

c++ delete-directory

39
推荐指数
7
解决办法
9万
查看次数

PHP:删除文件夹的最简单方法(包括其内容)

rmdir()如果文件夹包含任何文件,则该函数将失败.我可以循环遍历目录中的所有文件,如下所示:

foreach (scandir($dir) as $item) {
    if ($item == '.' || $item == '..') continue;
    unlink($dir.DIRECTORY_SEPARATOR.$item);
}
rmdir($dir);
Run Code Online (Sandbox Code Playgroud)

有没有办法一次性删除它?

php file-io delete-directory

32
推荐指数
2
解决办法
5万
查看次数

如何使用PowerShell删除空子文件夹?

我有一个分享,是最终用户的"垃圾抽屉".他们可以根据需要创建文件夹和子文件夹.我需要实现一个脚本来删除超过31天创建的文件.

我从Powershell开始.我需要通过删除现在为空的子文件夹来跟进文件删除脚本.由于子文件夹的嵌套,我需要避免删除没有文件的子文件夹,但在其下面有一个包含文件的子文件夹.

例如:

  • FILE3a已经10天了. FILE3是45天.
  • 我想清理删除超过30天的文件的结构,并删除空的子文件夹.
C:\Junk\subfolder1a\subfolder2a\FILE3a

C:\Junk\subfolder1a\subfolder2a\subfolder3a

C:\Junk\subfolder1a\subfolder2B\FILE3b
Run Code Online (Sandbox Code Playgroud)

期望的结果:

  • 删除:FILE3b,subfolder2B&subfolder3a.
  • 离开:subfolder1a,subfolder2a,和FILE3a.

我可以递归清理文件.如何清除子文件夹而不删除subfolder1a?("垃圾"文件夹将始终保留.)

powershell recursion file delete-directory

28
推荐指数
3
解决办法
4万
查看次数

删除文件夹和所有文件/子目录

如何在C++中删除包含所有文件/子目录(递归删除)的文件夹?

c++ file-io delete-directory

24
推荐指数
3
解决办法
3万
查看次数

无法删除带有尾随空格的Windows 7上的文件夹

问题:我有一个Windows 7子目录,我无法删除.

虽然我在这里认识其他人,并且互联网上的其他许多人已经询问了这类Windows 7文件系统的常见问题,但我的问题特别涉及Windows 7上具有尾随空格的特定类别的不可删除文件.目录名称.

有没有更好的工具来检查和/或编辑我的文件系统(如果需要,可以用十六进制)?


操作系统:我正在运行x64专业版,它已完全更新.

已经尝试过:我已经阅读了很多关于这个主题的网页,并尝试了许多潜在的解决方案.我最近使用PowerShell一直在研究这个问题,它似乎完全能够处理系统内部.此时我正在为文件系统寻找类似十六进制编辑器的东西.

它不是由以下原因引起的:

  • 一个长文件名,或
  • 通过位于漫长的道路,

它不是由以下原因修复的:

  • 使用旧的DOS文件命名方案重命名
  • 运行整个文件系统的CHKDSK
  • 关闭可能正在访问它的所有其他程序
  • 禁用病毒软件
  • 使用Delinvfile.exe 4.5实用程序.注意:Delinvfile说它无法修复"文件和文件夹,其短名称包含无效字符.这些包括[文件名中不允许的]字符:
<  -  Less than symbol
>  -  Greater than symbol
:  -  Colon
"  -  Quotation Mark
/  -  Forward Slash
|  -  Vertical Bar
?  -  Question mark
*  -  Asterisk
Run Code Online (Sandbox Code Playgroud)

是什么造成的?在我的例子中,几个月前使用我用于源树备份的自定义PHP程序创建了不可删除的子目录.它似乎在名称中有空格或其他不良字符,但我不能确定.它在文件目录中可见,但不能删除,重命名,rmdir等.

调查:我可以在我的文件系统上移动它并将其放在C:中名为'hold bad subdir'的子目录中.

在这里,您可以使用PowerShell查看它.首先,我使用Get-ChildItem(与别名'dir'相同)显示它:

PS C:\holds bad subdir> Get-ChildItem


    Directory: C:\holds bad subdir


Mode …
Run Code Online (Sandbox Code Playgroud)

powershell explorer cmd windows-7 delete-directory

23
推荐指数
1
解决办法
3万
查看次数

无法以编程方式从android中删除外部存储中的文件

我试图删除位于路径的文件

/storage/714D-160A/Xender/image/Screenshot_commando.png
Run Code Online (Sandbox Code Playgroud)

到目前为止我做了什么:

  try{
        String d_path = "/storage/714D-160A/Xender/image/Screenshot_commando.png";
        File file = new File(d_path);
        file.delete();

     }catch(Exception e){

        e.printStackTrace();
     }
Run Code Online (Sandbox Code Playgroud)

并且文件仍在其位置(未删除:()

我也在Manifest文件中获得了许可.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.STORAGE" />
Run Code Online (Sandbox Code Playgroud)

java directory android file delete-directory

14
推荐指数
3
解决办法
7135
查看次数

Bash脚本:删除最旧的目录

我想查找最旧的目录(在目录中),并删除它.我使用以下内容:

rm -R $(ls -1t | tail -1)
Run Code Online (Sandbox Code Playgroud)

ls -1t | tail -1 确实给了我最老的目录,问题是它没有删除目录,而且它也列出了文件.

我怎么能解决这个问题?

directory bash file-io delete-directory

6
推荐指数
2
解决办法
4261
查看次数

如何从文件夹中删除除少数文件夹以外的所有文件/文件夹?

我正在尝试为debian包编写维护者脚本.假设我有一个目录结构如下:

application/
----application/file1.txt
----application/file2.txt
----application/config
--------application/config/c1.conf
--------application/config/c2.conf
----application/logs
--------application/logs/l1.txt
--------application/logs/l2.txt
----application/src
--------application/src/static/
------------application/src/static/js
------------application/src/static/css
--------application/src/s1.py
--------application/src/s2.py
----application/lib
--------application/src/js/
--------application/src/css/
Run Code Online (Sandbox Code Playgroud)

现在我想删除除所有文件/文件夹config,并logs(在这种情况下,srclib文件夹,file1.txt以及file2.txt文件).我PWD目前是appliaction/dir 的父母(也就是说,我可以application在我看到PWD).

我应该使用什么命令(小的bash script会很棒)?(我尝试了rm -rf一些选项,但错误地删除了其他文件,所以我想在尝试其他任何事情之前知道正确的答案!)

bash ubuntu rm delete-directory

6
推荐指数
1
解决办法
445
查看次数

5
推荐指数
1
解决办法
7078
查看次数