迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

PowerShell 删除文件夹

作者:迹忆客 最近更新:2024/02/07 浏览次数:

PowerShell 中的文件夹删除操作会从给定位置删除文件夹,无论它是本地路径还是共享路径。

本文重点介绍使用 PowerShell 删除文件夹的不同方法。


在 PowerShell 中使用 Remove-item Cmdlet 删除文件夹

可以使用 Remove-Item cmdlet 删除一个或多个对象。

我们可以使用两种不同的语法进行删除。但需要注意的是,这两者可以单独使用,但不能组合使用。

  • 语法 1
Remove-Item
      [-Path] <String[]>
      [-Filter <String>]
      [-Include <String[]>]
      [-Exclude <String[]>]
      [-Recurse]
      [-Force]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm]
      [-Stream <String[]>]
      [<CommonParameters>]
  • 语法 2
Remove-Item
      -LiteralPath <String[]>
      [-Filter <String>]
      [-Include <String[]>]
      [-Exclude <String[]>]
      [-Recurse]
      [-Force]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm]
      [-Stream <String[]>]
      [<CommonParameters>]

-Path-Literalpath 不能在相同的语法中使用。

Remove-item 参数

下面给出了最常用参数的名称和描述。

名称 说明
-Path 指定要移除的东西的位置。通配符的使用没有限制。
-LiteralPath 指定到一个或多个位置的路径
-Confirm 运行 cmdlet 前会提示确认
-Exclude cmdlet 在操作期间排除的项目
-Credential 任何 PowerShell 安装的提供程序都不支持此参数。在使用此 cmdlet 时,使用 Invoke-Command 模拟其他用户或提升你的权限。
-Filter 过滤以验证路径参数
-Force 强制删除无法以其他方式修改的对象,例如私有或只读文件/别名或变量。
-Include cmdlet 在操作期间包含的项目
-Recurse 此 cmdlet 丢弃给定位置中的对象以及所有位置的子项。
-Stream Stream 参数是由 FileSystem 提供程序添加到 Remove-Item 的动态参数。此设置仅适用于具有文件系统的驱动器。
-WhatIf 显示执行 cmdlet 时会发生什么。

让我们看一些示例以及不同的语法用法,

示例 1:

在这里,我们将使用下面提到的命令删除 test1 文件夹,最后,你可以看到该文件夹​​将被删除。

Remove-Item 'D:\temp\Test1'

示例 2:

我们将递归删除文件夹 test2。PowerShell 在前面的示例中检查目录是否为空。在这种情况下,它只会删除该文件夹。

Remove-Item 'D:\temp\test2' -Recurse

示例 3:在 -RemoveItem 中使用 -LiteralPath

-LiteralPath-Force-Recurse 参数一起使用。因此,它会在没有任何确认提示的情况下强制删除项目以及给定路径中的文件夹。

Remove-Item -LiteralPath "foldertodelete" -Force -Recurse

示例 4:Remove-item 作为管道

我们首先使用 Get-ChildItem 来检索文件夹和文件,然后我们使用 Remove-Item 来管道上一个命令的结果。

Get-ChildItem C:\Temp\TestFolder\ | Remove-Item -Recurse -Force -Verbose

这里唯一的问题是它只删除文件夹的内容,而不是文件夹本身;因此,必须添加其他代码片段才能删除该文件夹。


在 PowerShell 中使用命令提示符删除文件夹

大多数命令行用户将使用 rmdir 命令来删除或删除文件夹。语法是 rmdir 以及文件夹路径,如下所示。

rmdir C:\Temp\TestFolder

在 PowerShell 中使用 FileSystem 对象方法删除文件夹

PowerShell 中提供了用于删除文件夹的不同选项。其中之一是文件系统对象方法。此过程有两个阶段。第一步,我们将构造一个文件系统对象;接下来,在第二步中,我们将使用 DeleteFolder() 函数来销毁关联对象的文件夹。

所以要做到这一点,首先创建一个 test.ps1 文件,然后添加下面给出的以下命令。

$object = New-Object -ComObject Scripting.FileSystemObject
$object.DeleteFolder("C:\Temp\TestFolder")

最后,执行 test.ps1 文件,它将删除我们想要的文件夹。


在 PowerShell 中使用 .Net 类删除文件夹

在 PowerShell 中,.NET 框架使用 System.IO.Directory 类和 Delete() 方法来删​​除文件夹。如果提供的文件夹不为空,此操作将抛出异常:

&gt [System.IO.Directory]::Delete("C:\Temp\TestFolder")

要删除此非空文件夹,请使用 Delete() 函数中的 $true 选项:

System.IO.Directory]::Delete("C:\Temp\TestFolder", $true)

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中提取子字符串

发布时间:2024/02/07 浏览次数:162 分类:编程语言

本文将讨论如何使用 PowerShell 的字符串库有效地提取字符串中的子字符串。作为 Windows 管理员的一个典型场景是找出一种方法来在称为子字符串的字符串中查找特定的文本片段

在 PowerShell 中连接字符串

发布时间:2024/02/07 浏览次数:174 分类:编程语言

本文将展示我们可以在 PowerShell 中使用的所有可能的方法来连接字符串和变量。PowerShell 使用不同的运算符和函数来实现字符串连接。

在 PowerShell 中获取变量的字符串长度

发布时间:2024/02/07 浏览次数:113 分类:编程语言

本教程将教你在 PowerShell 中获取变量的字符串长度。字符串是 PowerShell 中最常用的数据类型之一;它包含字符或文本的序列。你可以使用单引号或双引号定义字符串。

使用 PowerShell 替换文件中的文本

发布时间:2024/02/07 浏览次数:118 分类:编程语言

本教程将教你使用 PowerShell 替换文件中每个出现的字符串。PowerShell 是一个强大的工具,可以执行不同的文件和文件夹操作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便