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

PowerShell脚本开发求助:根据文件夹名称修改其创建日期

PowerShell脚本开发求助:根据文件夹名称修改其创建日期

嘿,这个需求我之前帮朋友处理过类似的,用PowerShell实现起来挺顺畅的,我给你整理了完整的解决方案,包括思路和可直接运行的脚本:

核心思路

  1. 定位到你要处理的根目录,筛选出名称符合yyyy-MM-dd格式的文件夹
  2. 从文件夹名称里提取日期字符串,转换成PowerShell能识别的DateTime对象
  3. 修改文件夹的创建时间属性(同时设置本地时间和UTC时间,避免时区偏差)

完整可运行脚本

# 替换成你实际要处理的根目录路径
$rootPath = "C:\Your\Target\Directory"

# 定义日期格式,和你的文件夹名称格式完全匹配
$dateFormat = "yyyy-MM-dd"

# 获取根目录下所有符合日期命名规则的文件夹
# 如果需要递归处理子目录里的文件夹,添加 -Recurse 参数即可
$targetFolders = Get-ChildItem -Path $rootPath -Directory | Where-Object {
    # 用正则表达式匹配严格的yyyy-MM-dd格式
    $_.Name -match '^\d{4}-\d{2}-\d{2}$'
}

# 遍历每个目标文件夹进行处理
foreach ($folder in $targetFolders) {
    # 安全转换日期格式,避免系统区域设置影响
    if ([DateTime]::TryParseExact($folder.Name, $dateFormat, $null, [System.Globalization.DateTimeStyles]::None, [ref]$folderDate)) {
        # 修改创建时间(本地时间 + UTC时间,确保时间一致性)
        $folder.CreationTime = $folderDate
        $folder.CreationTimeUtc = $folderDate.ToUniversalTime()
        
        Write-Host "✅ 成功修改文件夹 '$($folder.Name)' 的创建日期为: $folderDate"
    } else {
        Write-Warning "⚠️ 文件夹 '$($folder.Name)' 的名称不符合日期格式,已跳过处理"
    }
}

额外说明

  • 如果需要处理子目录中的文件夹,在Get-ChildItem命令里添加 -Recurse 参数即可
  • 运行脚本时如果遇到权限不足的报错,记得用管理员身份打开PowerShell
  • 如果你还需要修改文件夹的最后修改时间/访问时间,可以参考修改CreationTime的方式,修改LastWriteTime或LastAccessTime属性

备注:内容来源于stack exchange,提问作者QqL Peter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:14:37