PowerShell生成带当前日期时间的日志文件名路径格式不支持如何解决
问题原因
- Windows系统文件名禁止使用
/、:、\、|、?、*、<、>、"这些特殊字符,你直接将Get-Date的返回值拼接进路径时,默认的日期字符串格式(类似2024/5/20 14:35:02)包含/和:两个非法字符,因此触发路径格式不支持的报错。 - 不带日期的路径不存在非法字符,因此可以正常运行。
解决方案
调用Get-Date时通过-Format参数指定合法的日期格式,将所有非法字符替换为允许的分隔符(比如用-分隔日期、时间各段,用_分隔日期和时间)即可。
修正后的示例代码:
# 格式化日期为 年-月-日_时-分-秒 格式,不含任何非法字符 $date = Get-Date -Format "yyyy-MM-dd_HH-mm-ss" $log = "D:\NewFolder\Logs\FixService$date.log" "Write this text to log" >> $log
如果需要其他日期格式,只要确保生成的字符串不包含上述禁止的文件名特殊字符即可。
内容的提问来源于stack exchange,提问作者SmartestVEGA
相关产品推荐
相关产品推荐

