复制文件并在PowerShell中将日期添加到其名称

时间:2016-05-26 15:37:23

标签: powershell getdate

为什么这不起作用?:

Copy-Item "C:\Logs\VPNLog.txt" "C:\Backup\VPNLog$(Get-Date -UFormat %d-%m-%Y-%R).txt"

错误讯息: Copy-Item : The given path's format is not supported.

对于记录,这有效:

Copy-Item "C:\Logs\VPNLog.txt" "C:\Backup\VPNLog.txt"

3 个答案:

答案 0 :(得分:1)

%R输出用冒号格式化的时间,文件名中不能包含冒号。要查看此内容,只需运行get-date -uformat %d-%m-%Y-%R

即可

要获得没有冒号的小时,分​​钟和秒,您需要使用类似于以下内容的get-date命令:

get-date -uformat %d-%m-%Y-%H.%m.%S

答案 1 :(得分:0)

因为你的格式包含冒号(:),文件名不允许这样做。

您可以使用以下代码获取所有无效文件字符的列表:[System.IO.Path]::GetInvalidFileNameChars()

答案 2 :(得分:0)

您正在使用%R,根据说明,在文件名中提供:字符,但不受支持。取出%R或先将日期字符串的格式分开,然后再添加带有该附加时间戳数据的文件名。

来源:Get-Date

TechNet