Get-ChildItem -Name *.txt | Rename-Item -NewName { $_.name -replace '\.txt','.log' }
我的当前路径中有 3 个文本文件,我正在使用在...的最后一个示例中找到的代码片段
get-help rename-item -full
(Powershell 2.0 版)。无论出于何种原因,我不断收到以下错误:
Rename-Item : Cannot bind argument to parameter 'NewName' because it is an empty string.
At line:1 char:40
+ Get-ChildItem -Name *.txt | Rename-Item <<<< -NewName { $_.name -replace
'\.txt','.log' }
+ CategoryInfo : InvalidData: (testfile3.txt:PSObject) [Rename-Item],
ParameterBindingValidationException
+ FullyQualifiedErrorId :
ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Rena
meItemCommand
显然,我将 .txt 更改为 .log 不是空字符串,这与 Microsoft cmdlet rename-item 的最后一个示例中找到的代码完全相同。
-Name
参数,因为它只输出包含完整路径的字符串,要么不引用
Name
属性:
Get-ChildItem -Name *.txt | Rename-Item -NewName { $_ -replace '\.txt','.log' }