网站搜索

PowerShell 删除项目 | PowerShell参数及示例


PowerShell 删除项目简介

删除文件在我们的生活中是很常见的,所以我们每天都会删除一些文件和数据,几乎所有的编程语言都提供删除文件功能,但是PowerShell的好处是它可以删除文件以外的许多东西,例如注册表、别名和函数也。如果我们多次删除任何系统文件,则所有相关文件都不会被删除,因此借助 PowerShell Remove-Item 我们甚至可以删除相关文件。它可以以更快的速度删除任何大文件以及删除所有相关文件。我们将在本主题中讨论语法和用法以及基本实践。

语法

PowerShell Remove-Item 的一个非常简单的语法是

Remove-Item {-path}-optional “sourcePath/sourceFile”-{force,include,exclude,Recurse,whatif...}

下面的语法涵盖了常规使用的东西,

Remove-Item
[-Path(source folder location)] <array of string>-optional
[-Force]-optional
[-Filter <String(filter contents for delete)>]-optional
[-Include <array of string>](specify contents need to be included like *.pdf,*.txt)-optional
[-Exclude <array of string>](specify contents need to be excluded like *txt ,*pdf)-optional
[-Recurse](this commands allow to delete folder containing another folder folder)-optional
[-WhatIf](It shows what can happen if command run)-optional
[-Confirm](before  deleting any file ask for confirmation)-optional
[<CommonParameters>]

参数

以下是下面提到的 PowerShell Remove-Item 的以下参数:

  • 确认:我们可能会错误地运行删除命令,并且我们知道删除命令可能会犯很大的错误,因此对于这种类型的情况,确认将非常有用,因为它会在删除之前询问您一次。
  • 排除:此命令采用一个数组,因此您可以在这些命令中提及您想要排除的任何项目。我们还可以在排除命令中使用通配符,如“*txt”
  • 过滤器:在这里我们可以为Remove-item命令指定过滤器参数。
  • 强制:很多时候当文件打开时我们无法删除它,因此通过使用命令 -Force 我们可以删除它。在这里,它将授予删除那些不允许删除的项目的权限,例如,如果有任何具有只读访问权限的文件,并且我们想要删除该文件,那么我们可以使用此命令。或者再举一个例子,如果文件已经打开并且我们想要删除它,那么我们可以使用 -Force。
  • 包含:包含执行的任务与-排除类似,唯一的区别是这里可以定义删除文件或媒体时要包含的文件的通配符。
  • LiteralPath:此命令可以以数组格式删除一个或位置上的文件,我们可以将它们定义为字符串格式的数组,我们应该非常小心地使用此命令。
  • 路径:这是我们要删除项目的路径。此 -path 命令还允许使用通配符。
  • 递归:此处删除其中包含文件夹的文件夹,就像我们删除一个名为 /Ranjan 的文件夹一样,它还包含另外三个文件夹 /job /education /locations,所有这些文件夹中都包含更多文件夹,其中表示子文件夹内的子文件夹。因此,要删除此类文件系统,我们使用 -Recurse 命令。
  • WhatIf:这仅显示命令运行时可能发生的情况,或者简单来说,它描述了命令结果。

实施 Power Shell 删除项目的示例

以下是 Power Shell Remove-Item 的实施示例。

示例#1

让我们删除其中没有任何内容的文件。这里我们只是删除一个里面不包含任何内容的文件夹。下面给出了一个示例屏幕。

Remove-Item ./test1/

从测试文件夹中删除名称中包含“-”的所有文件。这是一个非常有用的命令,因为我们在这里删除所有包含名称“-”的文件。我们可以在下图中看到,最初文件夹 test 包含两个文件“ranjan-pandey.txt”和“suman-”中的 4 个文件。 kumar.txt”包含“-”。因此,运行下面的命令将删除这两个文件。

Remove-Item ./test/*-*

输出:

示例#2

让我们进行一些递归删除,在此,我们将删除一个文件夹(目录),并且该文件夹还包含文件夹本身内的子目录。

Remove-Item ./ranjan1/ -Recurse

输出:

在上面的示例文件夹“ranjan1”包含“ranjan2”和“test.txt”文件,“ranjan2”再次包含“test2.txt”,现在要删除ranjan1文件夹,我们需要编写命令 -Recurse 和Remove-Item。

示例#3

很多时候,删除所有内容后仍然会留下一些隐藏文件,因此要执行完全删除,我们可以使用“-Force”。让我们举一个命令的例子 -Force Remove,这个命令是在我们有一些隐藏文件时使用的,所以要删除隐藏文件,我们可以使用强制。

Remove-Item -path ./test/ -Force

输出:

在此示例中,-Force 将删除所有文件以及测试中的任何隐藏文件。

示例#4

WhatIf命令,该命令显示该命令执行时会发生什么情况,请参见下图。

Remove-Item ./ranjan1 -whatif

输出:

示例#5

在此示例中,我们将覆盖“-Confirm”。我们尝试在此处传递 -Confirm 命令来删除文件夹 Jobs。一旦我们运行此命令,它会询问您是否要删除它,一旦我们说“是”,它就会显示错误文件已经存在,您可以在这里理解-Confirm命令的实用程序,因为只有您同意,文件才会被删除运行命令后,意味着犯错误的可能性非常小。

Delete-Item -path ./source/ -Confirm

输出:

示例#6

让我在这里向您解释一个非常有用的示例,假设您要删除具有特定扩展名的文件夹中的所有文件,例如“.txt”、“.xls”、“.pdf”。

Remove-Item -Path ./source/* -Include *.txt

输出:

在上面的示例中,我们删除所有以“.txt”为扩展名的文件。同样,您可以尝试删除“.pdp”和“.config”扩展名。当我们有大量文件并且想要删除具有特定扩展名的特定文件时,这些命令非常有用。

结论 - PowerShell 删除项目

PowerShell的Remove-Item命令是一个非常有用的命令,当我们的文件系统中有大量文件时,它起着非常关键的作用。当我们必须删除包含巨大子文件夹的文件时,它提供了各种类型的支持命令,例如 -Force、Incluster 等许多其他命令来执行其特殊职责。

相关文章