如果多个文件具有相同的时间戳,我想向lastwritetime寻求帮助。
我正在使用以下查询以预定义的$ prefix + $ lastwritetime来获取并重命名文件名,假设如果多个具有相同时间戳的文件意味着我无法重命名这些文件,那么在这种情况下第一个文件将被Lastwritetime重命名我需要更改Lastwritetimes秒,以便创建文件。
感谢您的帮助。
$FilePath = $ToPath+"\"+$ToFile
Get-ChildItem -Path $FilePath | Foreach { Rename-Item $_ -NewName ($Prefix+$_.LastWriteTime.ToString("yyMMddhhmm")) }
假设两个文件的Lastwritetime为20190619082733我需要它,因为20190619082734 +或-可以。我曾尝试使用AddMinutes(-“ 2”),但我缺少一些建议。
答案 0 :(得分:0)
尝试添加分钟(-2)。它需要一个int而不是一个字符串。像这样:
Get-ChildItem -Path $FilePath | Foreach-Object {
$DateString = $_.LastWriteTime.AddMinutes(-2).ToString("yyMMddhhmm")
Rename-Item $_.FullName -NewName ($Prefix + $DateString + $_.Extension)
}
如果您希望字符串中包含秒,则应采用以下格式:
$DateString = $_.LastWriteTime.AddMinutes(-2).ToString("yyMMddhhmmss")