如果字符数超过某个值,则执行命令的 PowerShell 条件

PowerShell condition to execute command if character count is over some value

我只想在文件名中的字符数超过 23 时才执行此命令。

Rename-Item -NewName {$_.name.insert(23,'-old')}"

执行此操作的 PowerShell 条件命令是什么?

最后的命令将遍历文件夹中的所有文件,并仅向字符数超过 23 的文件添加后缀“-old”。

示例:

input_filename1: XXXXXXXXXXXXXXXXXXXXX_X.txt
input_filename2: XXXXXXXXXXXXXXXXXXXXX_XYYY.txt

output_filename1: XXXXXXXXXXXXXXXXXXXXX_X.txt
output_filename2: XXXXXXXXXXXXXXXXXXXXX_X-oldYYY.txt

你为什么不测试它:

Get-ChildItem blabla | where {$_.name.length -gt 23} | Rename-Item -NewName {$_.name.insert(23,'-old')}

您或许可以使用 BaseName 进行测试。

Get-ChildItem blabla | where {$_.BaseName.length -gt 23} | Rename-Item -NewName {$_.name.insert(23,'-old')}