在 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)
我一直在研究使用 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)