我试图使用任务计划程序使下面的PowerShell脚本工作.问题是它不会删除任何文件.
当我手动运行它时,需要在删除文件之前进行确认.
Recurse parameter was not specified. If you continue, all children will be removed with the item. Are you sure you want
to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
Run Code Online (Sandbox Code Playgroud)
如何编辑此脚本以删除文件而不进行任何确认,以便我可以使用任务管理器运行它?
#----- define parameters -----#
#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "10"
#----- define folder where files are located ----#
$TargetFolder = "D:\Shares\Downloads\TV\AutoDL"
#----- define extension ----#
$Extension = "*.*"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- get files based on lastwrite filter and specified folder ---#
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "DarkRed"
Remove-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!" -foregroundcolor "Green"
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*agg 11
您需要添加-Confirm:$false到Remove-Item命令以覆盖默认的确认行为.如果做不到,请尝试添加-Force.
我认为Remove-Item -Path "C:\Temp\FolderToDelete" -Confirm:$false -Force应该没有任何提示就可以正常工作。但事实并非如此。
要删除整个文件夹及其中的所有内容而没有任何提示,我必须使用GCI并进行升级。所以代替:
Get-ChildItem -Path "C:\Temp\FolderToDelete" | Remove-Item -Recurse -Confirm:$false -Force
Run Code Online (Sandbox Code Playgroud)
这将删除FolderToDelete内的所有内容,但不会删除父文件夹。
要删除父文件夹及其中的所有内容而没有提示,我做了以下操作:
Get-ChildItem -Path "C:\Temp\" -Directory -Filter "FolderToDelete" | Remove-Item -Recurse -Confirm:$false -Force
Run Code Online (Sandbox Code Playgroud)
请注意尾部的'\' -Path C:\Temp\。
高温超导
小智 6
Remove-Item foldertodelete -Recurse -Force -Confirm:$false
Run Code Online (Sandbox Code Playgroud)
为我工作。
小智 5
删除文件文件夹\子文件夹D:\FOLDER(下面是我的示例),任何超过 30 天的文件。
Get-ChildItem -Path "D:\FOLDER\" -Recurse |? {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item -Recurse -Force -confirm:$false -Verbose
Run Code Online (Sandbox Code Playgroud)
将-Force -Confirm:$false保证您不必按Y或A每次删除文件或文件夹的时间。在-Verbose什么被删除显示器。
| 归档时间: |
|
| 查看次数: |
18636 次 |
| 最近记录: |