Нужно изменить lastwritetime в переименовании файла - PullRequest
0 голосов
/ 20 июня 2019

Я хотел бы попросить справку о необходимости изменения lastwritetime, если его несколько файлов имеют одинаковую метку времени.

Я использую запрос ниже, чтобы выбрать и переименовать имя файла с моим предопределенным префиксом $ + $ lastwritetimeПредположим, что если несколько файлов с одной и той же отметкой времени означают, что я не могу переименовать файлы, следовательно, в этом случае первый файл переименовывается с Lastwritetime, мне нужно изменить секунды Lastwritetimes, чтобы файлы были созданы.

Спасибо заВаша помощь.

$FilePath = $ToPath+"\"+$ToFile

Get-ChildItem -Path $FilePath  | Foreach { Rename-Item $_ -NewName ($Prefix+$_.LastWriteTime.ToString("yyMMddhhmm"))  }

предположим, что Lastwritetime составляет 20190619082733 для двух файлов, которые мне нужны, так как 20190619082734 + или - хорошо.Я пытался с AddMinutes (- "2"), но что-то, что я пропускаю, пожалуйста, сообщите.

1 Ответ

0 голосов
/ 20 июня 2019

Попробуйте addminutes (-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")
...