Я пытаюсь пакетно переименовать старые файлы журнала, но сценарий работает только для меня, когда сценарий хранится в той же папке, что и файлы журнала.Вот код:
cls
$file = gci E:\logs |? {$_.extension -eq ".log" |% {rename-item $_ ($_.Name + ".old")}
Когда я запускаю этот скрипт из E:\logs
, он работает просто отлично.Однако, когда я запускаю этот скрипт из C: \ Scripts, он выдает мне эту ошибку:
Rename-Item: Cannot rename because item at 'my.log.file.log' does not exist.
At C:\Scripts\rename-script.ps1:2 char:92
+ $file = gci E:\logs |? {$_.extension -eq ".log" |% {rename-item $_ ($_.Name + ".old")}
+ CategoryInfo : InvalidOperation (:) [Rename-Item], FSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
Я также пытался использовать команду Move-Item
с переключателем -literalpath
, но имел тот же результат