如何用PowerShell为文件夹内所有文件批量添加递增三位序号前缀
如何用PowerShell为文件夹内所有文件批量添加递增三位序号前缀
我懂你的需求啦,就是想给文件夹里的几百个文件都加上三位递增的序号前缀,同时完整保留原来的文件名对吧?你之前试的脚本只保留了序号和扩展名,把原文件名给丢了,咱们稍微调整一下代码就可以实现你要的效果~
你之前的代码问题出在格式化字符串上,原来的'{0:D3}{1}'只输出了序号和扩展名,漏掉了原文件名部分。我给你修改后的脚本:
$nr = 1 (Get-ChildItem -Path 'C:\Users\A\Desktop\1' -Filter '*.*' -File) | Rename-Item -NewName { '{0:D3}_{1}{2}' -f ($script:nr++), $_.BaseName, $_.Extension }
我给你拆解一下这个脚本的关键部分:
{0:D3}:负责生成三位固定长度的递增序号,比如1会变成001,10变成010,保证所有序号格式统一_:加个下划线把序号和原文件名隔开,看起来更清爽,要是你不想要分隔符,直接删掉这个下划线就行{1}:调用$_.BaseName获取文件的原名称(不含扩展名的部分),比如hello.mp4就会取到hello{2}:调用$_.Extension保留文件原来的扩展名,比如.mp4
另外还有几个小细节可以按需调整:
- 记得把路径
'C:\Users\A\Desktop\1'替换成你实际要处理的文件夹路径 - 如果想让序号从
000开始,把$nr = 1改成$nr = 0就可以 - 脚本里的
-File参数确保只处理文件,不会碰文件夹,避免误操作
备注:内容来源于stack exchange,提问作者mikuzan
相关产品推荐
相关产品推荐

