我正在查看 PowerShell 的Rename-Item
cmdlet的文档,有一个这样的例子。
Get-ChildItem *.txt | Rename-Item -NewName { $_.name -Replace '\.txt','.log' }
Run Code Online (Sandbox Code Playgroud)
此示例说明如何使用 Replace 运算符重命名多个文件,即使 NewName 参数不接受通配符也是如此。
此命令将当前目录中的所有 .txt 文件重命名为 .log。
该命令使用 Get-ChildItem cmdlet 获取当前文件夹中具有 .txt 文件扩展名的所有文件。然后,它使用管道运算符 (|) 将这些文件发送到 Rename-Item 。
NewName 的值是在将值提交给 NewName 参数之前运行的脚本块。
注意最后一句话:
NewName 的值是在将值提交给 NewName 参数之前运行的脚本块。
实际上NewName
是一个字符串:
[-NewName] <String>
Run Code Online (Sandbox Code Playgroud)
那么这是否意味着当所需的参数类型是字符串时,我总是可以使用脚本块?