You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求排查PowerShell脚本:无法导出近7天修改/创建文件的绝对路径列表

解决PowerShell获取近7天修改/创建文件的问题

原脚本存在逻辑冗余、引号转义错误以及筛选条件不完整的问题,以下是修正后的解决方案:

直接在PowerShell环境运行的脚本

$days = 7
$targetPath = "H:\Molding\Molding Parameters"
$outputPath = "C:\MoldPara\Bhavesh.csv"

# 递归遍历目标目录,筛选近7天内修改或创建的文件
Get-ChildItem -Path $targetPath -Recurse -File | 
    Where-Object { 
        $_.LastWriteTime -gt (Get-Date).AddDays(-$days) -or 
        $_.CreationTime -gt (Get-Date).AddDays(-$days) 
    } |
    Select-Object FullName, LastWriteTime, CreationTime |
    Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8
  • -File 参数直接限定只获取文件,无需额外筛选容器对象
  • 同时判断文件的修改时间和创建时间,满足任一条件即纳入结果
  • 显式指定UTF8编码,避免CSV文件出现乱码
  • 变量化配置项,后续修改路径或天数更便捷

适用于CMD窗口的调用命令

如果需要从CMD直接触发执行,需正确处理引号转义,使用单引号包裹路径避免冲突:

@PowerShell -NoProfile -Command "$days=7; $targetPath='H:\Molding\Molding Parameters'; $outputPath='C:\MoldPara\Bhavesh.csv'; Get-ChildItem -Path $targetPath -Recurse -File | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-$days) -or $_.CreationTime -gt (Get-Date).AddDays(-$days) } | Select-Object FullName, LastWriteTime, CreationTime | Export-Csv -Path $outputPath -NoTypeInformation -Encoding UTF8"
Pause
  • -NoProfile 参数跳过加载用户配置文件,提升执行效率
  • 整合所有逻辑为单条命令,避免CMD中字符串拆分导致的语法错误

内容的提问来源于stack exchange,提问作者Bhavesh Sudani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:28:20