如何在PowerShell中获取当前季度并按指定格式重命名文件
解决PowerShell文件名拼接问题
问题修正说明
你的代码存在两个核心问题:一是未定义$today变量会导致报错,二是文件名拼接时多余的分隔符不符合预期格式,以下是修正方案:
修正后的代码
# 获取当前年份 $QYear = Get-Date -Format yyyy # 定义当前日期变量,计算季度 $today = Get-Date $QNum = [int][math]::Ceiling($today.Month / 3) # 拼接期望格式的文件名 $file2 = "$QYear$QNumFileName.csv" # 执行CSV列重排导出(修正Import-CSV的参数为实际要导入的文件) Import-CSV "file1.csv" | Select-Object 'LineCount', 'Name' | Export-Csv $file2 -NoTypeInformation
关键调整点
- 补充
$today = Get-Date定义,避免变量未定义报错 - 移除文件名拼接中的
-Q和-分隔符,直接将年份、季度与原文件名连写 - 给
Export-Csv添加-NoTypeInformation参数,避免CSV文件开头生成冗余类型信息(可选但实用)
如果原文件名是FileName(distrubution).csv,只需修改拼接行即可:
$file2 = "$QYear$QNumFileName(distrubution).csv"
内容的提问来源于stack exchange,提问作者noobCoder
相关产品推荐
相关产品推荐

