如何使用 PowerShell 填充 0 来使文件名中间对齐

如何使用 PowerShell 填充 0 来使文件名中间对齐

我在当前目录中有这样的文件:

但我想将文件重命名为

如何使用PowerShell来实现呢?

答案1

假设您的文件实际上名为“image*.png”:

$files = "C:\files"

# for each file
gci $files | % { 
    $n = "0000" + $_.BaseName -replace "image",""     # pad the number with "0000". eg 0000999
    $n = $n.SubString($n.Length - 4, 4)               # get the 4 right-most numbers. eg 0999
    $name = "image" + $n + $_.Extension               # prepare the new name

    rename-item $files\$_ $files\$name -WhatIf
}

-WhatIf测试后移除。

这个问题看起来像是你上一个问题的延续。最好根据要求调整你原来的问题,而不是发布第二个问题。

答案2

image首先,我将从文件名中删除

ls | Rename-Item -NewName {$_.Name -replace 'image',''}

0然后我在文件名中填充

ls | %{Rename-Item $_.Name $_.Name.PadLeft(8,'0')}

最后,我将前缀重新添加到文件名中

ls | %{Rename-Item $_.Name ('image'+$_.Name)}

相关内容