我想批量重命名旧的日志文件,但脚本只适用于我当脚本存储在与日志文件相同的文件夹。下面是代码:Powershell 1.0 - 重命名文件失败,当脚本在不同的目录
cls
$file = gci E:\logs |? {$_.extension -eq ".log" |% {rename-item $_ ($_.Name + ".old")}
当我从E:\logs
运行此脚本,它工作得很好。然而,当我在C运行此脚本:\脚本,它给了我这个错误:
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
我使用与-literalpath
开关Move-Item
命令也试过,但有同样的结果
哇,这比我在做的事更容易。它也适用于任何目录。 TY! – 2010-06-21 18:08:59