在 Powershell 中用不必要的零重命名文件

Renaming files with unnecessary zeros in Powershell

我一直在研究使用 Powershell 批量重命名文件,并且取得了一些不错的进展。简而言之,我希望从我的文件开头删除所有多余的零。到目前为止,我有一个这样命名的图像文件夹:

0001_random_name.jpg
0002_random_name.jpg
0003_random_name.jpg

一路上到900~。我创建了一个 Powershell 脚本,它接受前四个字​​符并添加 .jpg 扩展名。这是该脚本:

Get-ChildItem 'G:\InvaluableNumbered' | rename-item -newname { $_.name.substring(0,4) + ".jpg" }

这会将文件重命名为

0001.jpg
0002.jpg
0003.jpg

对于这个项目,我需要给它们命名

1.jpg
2.jpg
3.jpg

一直到 968.jpg。有什么方法可以使用我编写的脚本,然后使用另一个命令删除所有 0,直到它命中第一个大于零的数字?

感谢您的宝贵时间。

您可以使用 TrimStart 字符串方法来获得所需的结果:

$_.name.substring(0,4).TrimStart('0')

其他可能性可以将值转换为 [int] 然后返回到 [string]:

[string][int]$_.name.substring(0,4)