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

PowerShell中DateTime.TryParseExact参数数量错误问题排查

PowerShell脚本中TryParseExact参数错误的修复方案

错误原因

调用[datetime]::TryParseExact时出现的Cannot find an overload for "TryParseExact" and the argument count: "5"错误,是因为该方法的5参数重载要求第三个参数必须是有效的[CultureInfo]文化对象,不能直接传入$null。同时原代码的if语句缺少一个闭合括号,也会导致语法问题。

修复方案

1. 修正参数与语法

将第三个参数替换为[CultureInfo]::InvariantCulture(不受系统区域设置影响,适配DD MMM格式的英文日期),同时补全if语句的闭合括号。

2. 修正后的完整脚本

$basePath = "C:\Path\To\Your\Folders"
$currentYear = (Get-Date).Year

# 遍历所有子文件夹
Get-ChildItem -Path $basePath -Directory | ForEach-Object {
    $folder = $_
    $folderName = $folder.Name

    # 尝试解析带当前年份的日期
    $dateParsed = $null
    # 替换$null为InvariantCulture,补全闭合括号
    if ([datetime]::TryParseExact("$folderName $currentYear", "dd MMM yyyy", [CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::None, [ref]$dateParsed)) {
        $dayOfWeekNum = [int]$dateParsed.DayOfWeek  # 0=周日, 1=周一, ..., 6=周六

        switch ($dayOfWeekNum) {
            1 { $subfolders = @("vishal", "rajnita", "tashi") }   # 周一
            2 { $subfolders = @("rajoo", "vidula") }              # 周二
            default { 
                Write-Host "跳过 $folderName - $($dateParsed.DayOfWeek)无需操作"
                return
            }
        }

        # 创建所需子文件夹
        foreach ($sub in $subfolders) {
            $newPath = Join-Path $folder.FullName $sub
            if (-not (Test-Path $newPath)) {
                New-Item -Path $newPath -ItemType Directory | Out-Null
                Write-Host "已创建: $newPath"
            } else {
                Write-Host "已存在: $newPath"
            }
        }
    } else {
        Write-Host "格式无效: $folderName"
    }
}

额外优化建议

如果不想拼接年份字符串,也可以直接解析原文件夹名,再手动设置年份,避免字符串拼接的麻烦:

# 直接解析原文件夹名(DD MMM格式)
if ([datetime]::TryParseExact($folderName, "dd MMM", [CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::None, [ref]$dateParsed)) {
    $dateParsed = $dateParsed.AddYears($currentYear - $dateParsed.Year) # 设置为当前年份
    # 后续逻辑不变
}

内容的提问来源于stack exchange,提问作者tama donna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:12:35