PowerShell脚本修改:为文件添加数字序号前缀
给文件添加数字序号前缀的PowerShell实现
首先,你的原代码里foreach($item in $FilesFolder)是多余的——$FilesFolder是单个路径字符串,遍历它只会逐个处理字符,完全没必要,直接移除即可。
下面是实现数字序号前缀的修改代码:
固定两位序号版本(适合文件数≤99)
$FilesFolder = "$env:USERPROFILE\Desktop\FilesToRename" $counter = 1 # 仅处理文件,若需包含文件夹可去掉 -File 参数 Get-ChildItem -Path $FilesFolder -File | ForEach-Object { # 格式化序号为两位数字(如1→01,10→10),拼接新文件名 $newName = "{0:D2} - {1}" -f $counter, $_.Name $_ | Rename-Item -NewName $newName $counter++ }
动态适配序号位数版本(自动匹配文件总数的位数)
如果不确定文件夹内文件数量,可先获取总文件数,自动调整序号的位数(比如120个文件用三位序号):
$FilesFolder = "$env:USERPROFILE\Desktop\FilesToRename" $files = Get-ChildItem -Path $FilesFolder -File # 根据文件总数确定序号的位数 $digitCount = $files.Count.ToString().Length $counter = 1 $files | ForEach-Object { $newName = "{0:D$digitCount} - {1}" -f $counter, $_.Name $_ | Rename-Item -NewName $newName $counter++ }
关键说明
-File参数:限定只处理文件,避免误改文件夹名称,不需要的话直接删除该参数即可。- 序号格式化:
{0:D2}是PowerShell的格式化语法,D2表示将数字格式化为两位,不足补0;改成D3则会生成三位序号(如001、002)。 - 计数器自增:每次处理一个文件后,
$counter加1,确保每个文件获得唯一序号。
内容的提问来源于stack exchange,提问作者Tyrone Hirt
相关产品推荐
相关产品推荐

