当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 删除文件 | PowerShell删除文件的实现

作者:精品下载站 日期:2024-12-14 04:54:53 浏览:15 分类:玩电脑

PowerShell 删除文件 | PowerShell删除文件的实现


[玩转系统] PowerShell 删除文件 | PowerShell删除文件的实现

PowerShell删除文件简介

在 PowerShell 删除文件中,要删除 PowerShell 中的项目,可以使用 Remove-Item cmdlet。此 cmdlet 不仅用于删除文件,还用于删除文件夹、功能、注册表项等。系统管理员最重要的工作之一是确保驱动器上有足够的空间,此过程称为内务管理。这些类型的活动可以使用脚本自动执行,该脚本将根据某些条件删除文件。本文将详细介绍如何使用Remove-Item cmdlet 删除文件以及如何自动化删除文件。

句法

以下是 PowerShell 删除文件的语法:

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

参数

以下是参数:

确认:在运行 cmdlet 之前向客户端显示确认信息。该参数的信息类型是一个开关。它是由假定的名称 cf 暗示的。默认尊重是无。该参数不确认管道输入,而且不允许使用通配符。

排除:执行 cmdlet 时不会考虑为此参数提供的值。这通常被认为是路径参数的值。它允许传递通配符。仅当使用通配符运行 cmdlet 时才能使用此选项,不能用于特定文件或项目。该参数的信息类型为String[]。默认尊重是无。该参数不确认管道输入,但允许使用通配符。

过滤器:这用于过滤可以运行 cmdlet 的对象。这是高效的,因为它在开始时应用过滤器,而不是在获取所有对象之后应用过滤器。该参数的信息类型为String。默认尊重是无。该参数不确认管道输入,但允许使用通配符。

强制:使 cmdlet 能够删除无法更改的内容,例如隐藏或只读记录或只读名称或元素。该 cmdlet 无法撤出具有常量值的变量和别名。实施方式因提供商而异。事实上,利用 Drive 参数,cmdlet 无法消除安全限制。该参数的信息类型是开关。默认尊重是无。该参数不确认管道输入,并且不允许使用通配符。

包含:仅在执行 cmdlet 时才会考虑提供给此参数的值。这意味着仅由该参数表示的对象不会被删除。仅当使用通配符运行 cmdlet 时才能使用此选项,不能用于特定文件或项目。该参数的信息类型为String[]。默认尊重是无。该参数不确认管道输入,但允许使用通配符。

LiteralPath:指示通往一个或多个位置的路径。 LiteralPath 的作用正是因为它是书面的而被利用的。单引号用于区分转义序列。应提供此参数的值,说明其在其属性中的显示方式。该参数的信息类型为String[]。它由假定的名称 PSPath 和 LP 暗示。默认尊重是无。该参数确认管道输入,并且不允许使用通配符。

路径:这是指要删除的项目所在的路径。该参数的信息类型为String[]。默认尊重是无。该参数确认管道输入,并且还允许使用通配符。

递归:如果指定的路径有一些文件夹和子文件夹,则表示在执行操作时也需要考虑这些子项。然而,这不适用于已知的包含参数。该参数的信息类型是一个开关。默认尊重是无。该参数不确认管道输入,并且也不允许使用通配符。

流:此参数仅在文件系统驱动器中使用。该参数的信息类型是string[]。默认尊重是无。该参数不确认管道输入,但允许使用通配符。

实施 PowerShell 删除文件的示例

下面是提到的例子:

例子#1

代码:

Write-Host "Deleting a single file"
#Remove-Item -Path "C:\Vignesh\Test\AD Group export to csv.txt"
Write-Host "File deleted" -ForegroundColor Green
Write-Host "delting files except some files of a particular type"
#Remove-Item -Path "C:\Vignesh\Test\*" -Exclude *.csv
Write-Host "Files other than csv files are deleted" -ForegroundColor Green
Write-Host "Deleting hidden file"
#Remove-Item -Path "C:\vignesh\Test\Path.csv" -Force
Write-Host "Hidden file is deleted" -ForegroundColor Green
Write-Host "Deleting files using recurse option"
#Remove-Item -Path "C:\vignesh\Test" -Recurse
Write-Host "All the files and folders are deleted successfully" -ForegroundColor Green
Write-Host "Removing specific items using include"
#Remove-Item -Path "C:\Vignesh\New folder\*" -Include *.png
Write-Host "Only the png files are deleted" -ForegroundColor Green

输出:

[玩转系统] PowerShell 删除文件 | PowerShell删除文件的实现

例子#2

自动删除文件:

代码:

Write-Host"Deleting files greater than 60 days"
Get-ChildItem-Path"C:\logs"-Recurse|Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-60))} |Remove-Item
Write-Host"File deleted"-ForegroundColorGreen
Write-Host"Deleting files that are greater than 1000 mb"
$path="C:\vignesh\logs"
$allowedsize=1000
$fsize= (Get-ChildItem$path|Measure-Object-propertylength-sum)
$Sizeinmb="{0:N2}"-f ($fsize.sum /1MB) +"MB"
if ($Sizeinmb-ge$allowedsize) {
Get-ChildItem$path-Recurse|Remove-Item-Force
Write-Host"File deleted"-ForegroundColorGreen
}

输出:

[玩转系统] PowerShell 删除文件 | PowerShell删除文件的实现

说明:以上脚本删除超过 60 天的文件以及大于 1000 MB 的文件。通过在任务计划程序中创建任务,可以自动每天运行上述脚本。

结论

因此,本文详细解释了如何在 PowerShell 中删除文件。它还解释了删除文件时可以使用的包含和排除的各种场景。它还展示了如何使用脚本和任务计划程序自动执行删除操作。要了解更多详细信息,建议编写示例程序并进行练习。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯