PowerShell是一个非常强大的命令行工具,用于在Windows中自动化和编写各种任务。
它是CMD(命令提示符)的全功能高级版本。
PowerShell还可用于执行各种与文件相关的操作,例如文件创建和修改。
它提供了一系列用于文件管理的命令和功能,包括删除文件的功能。
一 使用 PowerShell 删除单个文件
用PowerShell删除单个文件,我们使用“Remove-Item”命令。
-
打开开始菜单并在“搜索框”中键入“Windows PowerShell”
-
比如我们要删除E盘,tmp目录下的delete.txt文件,则输入命令“Remove-Item”如下。
命令格式:
Remove-Item <FilePath>
此处<FilePath>表示要删除的文件的位置。例如,如果要删除位于“c:Temp”目录中的名为“example.txt”的文件,命令如下:
Remove-Item C:Tempexample.txt
二 以递归方式删除文件和文件夹
要递归删除文件和文件夹,可以将“-Recurse”参数与“Remove-Item”命令一起使用。
比如我要删除E盘的tmp目录,但这个目录不为空,目录下有个delete.txt文件
-
打开“Windows PowerShell”并键入命令“Remove-Item”以及文件夹,末尾带有“-Recurse”
参考命令如下
Remove-Item E:tmp -Recurse
-
这会将E盘tmp目录下的所有文件,以及tmp目录都一块删除。
-
如果不带-recurse参数,执行命令Remove-Item E:tmp,会提示目录不为空,需要选择。
三 强制删除文件
强制删除写保护或者被其他进程占用的文件时,需要将“-Force”参数与“删除项目”命令一起使用
-
打开“Windows PowerShell”并键入命令“Remove-Item”,后跟文件位置和名称,并在末尾添加“-Force”
参考命令如下:
Remove-Item E:tmpabc.exe -Force
四 根据文件扩展名递归删除文件
例如我要递归删除E盘tmp目录下的所有后缀名为txt的文件,可以先用带有“-Filter”参数的“Get-ChildItem”命令来检索文件列表,然后使用“删除项”命令删除文件
参考命令如下:
Get-ChildItem E:tmp -Filter *.txt | Remove-Item
五 删除文件夹中的所有文件
若要删除文件夹中的所有文件(但不是文件夹本身),请使用带有“-File”参数的“Get-ChildItem”命令检索文件列表,然后使用“Remove-Item”命令删除结果
参考命令如下:
Get-ChildItem -Path “e:tmp” | Remove-Item
六 仅在文件存在时删除该文件
若要仅在文件存在时删除该文件(以避免文件不存在时出错),请使用“Test-Path”命令检查该文件是否存在,然后使用“Remove-Item”命令删除该文件
参考命令如下
if (Test-Path e:tmpabc.txt){Remove-Item e:tmpabc.txt}
七 删除早于指定日期的文件
要删除早于指定日期的文件,请使用带有“-Path”参数和通配符(*)的“Get-ChildItem”命令检索文件列表。然后,将结果通过管道传输到“Where-Object”命令,以根据文件的创建日期过滤文件。最后,将结果进一步传送到’Remove-Item’命令以删除它们
参考命令如下
Get-ChildItem -Path e:tmp | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-Item
这行PowerShell命令的含义是:
(1)Get-ChildItem -Path e:tmp
:获取指定路径(e:tmp)下的所有子项(文件和文件夹)。
(2)Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-30) }
:筛选出创建时间早于30天前的子项。
(3)Remove-Item
:删除符合条件的子项。
这个命令会删除指定路径下创建时间早于30天前的所有文件和文件夹。
原文始发于微信公众号(湾仔沙电脑城):如何使用 PowerShell 删除文件或文件夹
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/277760.html