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

使用PowerShell的Out-File时文件名含日期变量报错求助

解决PowerShell中Out-File因日期变量导致的路径格式错误

这个问题我之前处理过,核心是两个小问题导致的,咱们逐个解决:

问题根源

  1. 文件名包含Windows禁用的特殊字符
    Windows系统的文件名里绝对不能出现:, /, \, *, ?, ", <, >, |这些字符。你用-UFormat "%Y-%m-%d %H:%M:%S"生成的日期字符串里包含冒号(:),这直接触发了路径格式不支持的错误。

  2. 命令语法错误:引号未闭合
    你的Out-File命令末尾少了一个闭合的双引号,这也会导致PowerShell解析路径时出现异常。

修正后的代码

# 将时间部分的冒号替换为Windows允许的下划线
$EndDate = Get-Date -UFormat "%Y-%m-%d %H_%M_%S"
# 补全闭合引号,确保路径格式合法
Out-File -FilePath "C:\output\$env:COMPUTERNAME-$EndDate.json"

额外提示

  • 我把$host换成了$env:COMPUTERNAME,因为$host是PowerShell的内置自动变量,直接使用会输出主机对象的字符串表示(不是单纯的主机名),$env:COMPUTERNAME才是获取当前主机名的正确方式。
  • 如果觉得文件名里的空格看着不舒服,也可以把日期里的空格换成下划线,比如用%Y-%m-%d_%H_%M_%S作为格式字符串,生成的文件名会更规整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:44:25