用powershell命令,在 windows系统中,删除目标文件夹内,建立日期超过 48小时的所有文件和文件夹


在 Windows 系统中,你可以使用 PowerShell 脚本来删除目标文件夹内建立日期超过 48 小时的所有文件和文件夹。以下是一个示例脚本,你可以根据需要调整目标文件夹的路径: ```powershell # 设置目标文件夹路径 $targetFolder = "C:\path\to\your\folder" # 获取当前时间的 48 小时前的时间点 $cutoffDate = (Get-Date).AddHours(-48) # 获取目标文件夹内所有文件和文件夹 $items = Get-ChildItem -Path $targetFolder -Recurse -File | Where-Object { $_.LastWriteTime -lt $cutoffDate } $folders = Get-ChildItem -Path $targetFolder -Recurse -Directory | Where-Object { $_.LastWriteTime -lt $cutoffDate -and (Get-ChildItem -Path $_.FullName -Recurse -File).Count -eq 0 } # 删除符合条件的文件 foreach ($item in $items) { try { Remove-Item -Path $item.FullName -Force -ErrorAction Stop Write-Host "Deleted file: $($item.FullName)" } catch { Write-Error "Failed to delete file: $($item.FullName) - $_" } } # 删除符合条件的空文件夹 foreach ($folder in $folders) { try { # 尝试删除空文件夹,如果文件夹不为空(可能由于子文件夹的删除导致),则再次检查是否为空 do { $null = Remove-Item -Path $folder.FullName -Recurse -Force -ErrorAction SilentlyContinue # 重新检查文件夹是否为空(因为 Remove-Item -Recurse 可能由于子项错误而停止) $folder = Get-ChildItem -Path $targetFolder -Recurse -Directory | Where-Object { $_.FullName -eq $folder.FullName -and ($_.LastWriteTime -lt $cutoffDate -and (Get-ChildItem -Path $_.FullName -Recurse -File).Count -eq 0) } } until ($folder -eq $null) if ($folder -eq $null) { Write-Host "Deleted folder: $($folder.FullName)" # 注意:这里 $folder.FullName 在最后可能为 null,仅用于演示逻辑 } } catch { Write-Error "Failed to delete folder: $($folder.FullName) - $_" } } ``` 注意事项: 1. 脚本首先获取当前时间的 48 小时前的时间点。 2. 使用 `Get-ChildItem` 获取目标文件夹内所有文件和文件夹,并通过 `Where-Object` 过滤出建立日期超过 48 小时的项。 3. 对于文件,直接删除。 4. 对于文件夹,脚本先检查文件夹是否为空(即没有文件),然后删除。如果文件夹不为空(可能是由于子文件夹的删除导致的),脚本会重新检查并尝试删除,直到文件夹为空或无法删除为止。 5. 脚本使用 `try-catch` 块来处理删除过程中可能出现的错误,并输出相应的消息。 警告:这个脚本会永久删除符合条件的文件和文件夹,请确保你设置了正确的目标文件夹路径,并谨慎运行脚本。建议先在测试环境中运行脚本,确认其行为符合预期。 [2024-11-06 11:19:43 | AI写代码神器 | 729点数解答]
- 帮我写一个批处理文件,内容如下: 1、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中p=的值改为"参数表.xlsx"中c列对应的值; 2、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中t=的值改为"参数表.xlsx"中b列对应的值; 3、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中s=的值改为"参数表.xlsx"中d列对应的值; 如: 参数表.xlsx中a列a1,a2,a3;b列1.5,2,3;c列为10,20,30;d列100,101,102; 文件.txt中的行 1:l p[54:a1] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=10,ed=1]; 2:l p[57:a2] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=11,ed=1]; 3:l p[67:a3] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=12,ed=1]; 文件.txt修改后为 1:l p[54(811点数解答 | 2024-12-05 12:58:37)224
- 帮我写一个批处理文件,内容如下: 1、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中p=的值改为"参数表.xlsx"中c列对应的值; 2、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中t=的值改为"参数表.xlsx"中b列对应的值; 3、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中s=的值改为"参数表.xlsx"中d列对应的值; 参数表.xlsx中a列a1,a2,a3;b列1.5,2,3;c列为10,20,30;d列100,101,102; 文件.txt数据 1:l p[54:a1] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=10,ed=1]; 2:l p[57:a2] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=11,ed=1]; 3:l p[67:a3] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=12,ed=1]; 文件.txt修改后数据 1:l p[54:a1(531点数解答 | 2024-12-05 13:20:42)230
- 帮我写一个批处理文件,内容如下: 1、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中p=的值改为"参数表.xlsx"中c列对应的值; 2、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中t=的值改为"参数表.xlsx"中b列对应的值; 3、如果在"参数表.xlsx"a列中的值找到与"文件.txt"中相同的值,则把此行中s=的值改为"参数表.xlsx"中d列对应的值; 参数表.xlsx中a列a1,a2,a3;b列1.5,2,3;c列为10,20,30;d列100,101,102; 文件.txt数据 1:l p[54:a1] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=10,ed=1]; 2:l p[57:a2] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=11,ed=1]; 3:l p[67:a3] 2000mm/sec cnt100 spot[sd=1,p=25,t=2.0,s=12,ed=1]; 文件.txt修改后数据 1:l p[54:a1(495点数解答 | 2024-12-05 13:22:26)202
- PHP项目资料管理系统需求文档 版本:1.0 日期:2025年7月18日 一、系统概述 目标:为项目管理团队提供统一的数字化资料存储、检索与协作平台,替代传统文件共享方式。 用户群体:项目经理、开发人员、测试人员、客户代表(分级权限)。 技术栈:PHP 8.0+、MySQL 8.0、Bootstrap 5、可选Laravel/Symfony框架。 二、核心功能需求 1. 用户管理 角色权限体系(管理员、项目经理、成员、只读访客) 支持LDAP/AD域集成登录 二次验证(短信/邮箱验证码) 2. 资料管理 功能 详细说明 文件上传 支持批量上传(ZIP自动解压)、拖拽操作,文件类型过滤(禁止.exe等危险类型) 版本控制 同一文件多版本历史记录,支持版本回滚与差异对比 在线预览 文档(PDF/DOCX/XLSX)、图片、文本文件的在线预览 标签分类 自定义多标签系统(如:需求文档/测试报告/UI设计) 快速检索 关键词全文搜索(集成Elasticsearch可选项),支持按标签/项目/上传者筛选 3. 项目管理 项目独立空间(每个项目拥有独立文件库与成员权(1332点数解答 | 2025-07-18 10:36:24)46
- 作为php开发,简述php操作目录(文件夹)的常用函数?(420点数解答 | 2023-11-09 17:58:57)211
- import win32com.client import os def excel_to_pdf(input_file, output_file): # 确保输入文件存在 if not os.path.exists(input_file): raise FileNotFoundError(f"文件 {input_file} 不存在") # 创建 Excel 应用程序实例 excel = win32com.client.Dispatch("Excel.Application") excel.Visible = False # 不显示 Excel 窗口 try: # 打开 Excel 文件 wb = excel.Workbooks.Open(input_file) # 设置页面布局为 A4 横向 for ws in wb.Worksheets: ws.PageSetup.Orientation = 2 # 2 表示横向 (507点数解答 | 2025-03-10 15:48:12)157
- 错误 8800:发生了常规 Photoshop 错误。该功能可能无法在这个版本的Photoshop 中使用。命令"<未知的>"当前不可用。直线: 38>executeAction(charlDToTypelD("Hr "),hueSaturationDescDialogModes.NO);(349点数解答 | 2025-02-28 11:19:16)329
- 错误8800:发生了常规Photoshop错误。该功能可能无法在这个版 本的Photoshop中使用。 -命令"去色"当前不可用。(167点数解答 | 2025-03-02 22:29:23)317
- 按键精灵,需求功能:鼠标左键点击1次,绑定目标窗口界面。 系统:windows(126点数解答 | 2025-08-24 23:48:27)43
- rem @echo off set filename=d:\memo.txt echo ================================= >>%filename% date /t >>%filename% time /t >>%filename% powershell get-clipboard >>%filename% (474点数解答 | 2025-07-06 03:05:57)73
- rem @echo off set filename=d:\memo.txt echo ================================= >>%filename% date /t >>%filename% time /t >>%filename% powershell get-clipboard >>%filename% (208点数解答 | 2025-07-06 03:09:15)56
- rem @echo off set filename=d:\memo.txt echo ================================= >>%filename% date /t >>%filename% time /t >>%filename% powershell get-clipboard >>%filename% (464点数解答 | 2025-07-06 03:10:09)56