powershell - PowerShell:如何使用remove-item批量删除文件?
问题描述
我有一个小脚本,它从 date1 小于 date2 的目录中删除文件。但是,我的脚本正在运行,因为它在包含许多文件的目录上运行,我希望删除项一次只删除 100 个文件,以便我可以监控每次运行的进度。这可能吗?
if ($date1 -lt $date2)
{
$_ | Remove-Item;
}
解决方案
使用for
循环并在每次迭代中使计数器步长为 100:
if($date1 -ge $date2){
# nothing to be done
return
}
$files = Get-ChildItem $pathToFolder
for($i = 0; $i -lt $files.Count; $i += 100){
$null = Read-Host "Press Enter to delete the next 100 files... "
$filesToDelete = $files[$i..($i+99)]
$filesToDelete |Remove-Item
Write-Host "Deleted $($filesToDelete.Count) files..."
}
推荐阅读
- javascript - 将 xml 数据加载到谷歌地图
- testing - 带有 mocha 和 chai 的 Spectron 不起作用
- c++ - thread_local 静态类在程序退出时在无效地址处被销毁
- hibernate - 在带有“GORM Logical Delete”插件的 Grails 3.3.x 中,Criteria Query 和 Hibernate Criteria 有什么区别?
- docker - Dockerfile - 仅复制与扩展名匹配的文件,同时保持文件夹结构
- javascript - 如何在窗口 JavaScript 周围移动弹出窗口
- excel - 查找重复条目
- php - 如何在唯一 ID 内的 symfony 中添加(创建)对象?
- python - 导入数据 django-import-export 不在 celery 任务中创建对象
- python - 尝试通过在 powershell 中执行代码的 python 脚本运行 print('hello world') 时发现错误