本地文件批量改名与自动化重命名

有些文件需要重命名,将杂乱的文件名,如副本(1).html,统一修改为整齐的数字序列,如123.html。

一个一个操作太麻烦,有些软件支持批量操作但需要付费。

这时可以使用PowerShell功能,实现一键全自动处理。

PowerShell

PowerShell是Windows 自带的强大命令行工具,无需安装任何额外软件,免费使用。

操作步骤

1、新建文件夹,把想要重命名的文件全部放进来。

2、在文件夹的空白处,按住键盘上的Shift键不放,同时点击鼠标右键。

3、在弹出的菜单中,选择在此处打开 PowerShell 窗口(S)。

4、这里我想把文件夹里的html文件从1到123排序命名,那么复制以下代码:

$i = 1; Get-ChildItem -File | Sort-Object LastWriteTime | ForEach-Object { Rename-Item $_.FullName -NewName ("{0}.html" -f $i++) }

5、在打开的PowerShell 窗口里,粘贴以上代码,点回车,这时文件就会自动命名。

指令参数说明

$i = 149:起始数值。你想从几开始编,就把 149 改成几,不用管最后的数值。

Sort-Object LastWriteTime:按“创建时间”排序。这能保证你的副本顺序(1、2、3…)不会乱。

"{0}.html":目标格式。如果你想改成文本文件,就改为 "{0}.txt"

$i++:自动累加器。系统每处理一个文件,数值就会自动加 1,直到文件夹内所有文件处理完毕。

保留原文件后缀

$i = 149; Get-ChildItem -File | Sort-Object LastWriteTime | ForEach-Object { Rename-Item $_.FullName -NewName ("{0}$($_.Extension)" -f $i++) }

以上代码可以适用于大部分,比如txt、jpg、png等格式的文件,$($_.Extension) 会自动抓取文件原来的后缀名(比如 .txt.html),你就不需要每次都去手动改代码里的后缀了。

添加后缀

效果: 149axq.html, 150qwe.html, 151vbt.html

PowerShell指令

$i = 150; Get-ChildItem -File | Sort-Object LastWriteTime | ForEach-Object { $random = -join ((97..122) | Get-Random -Count 3 | ForEach-Object {[char]$_}); Rename-Item $_.FullName -NewName ("{0}{1}.html" -f $i++, $random) }

指令参数说明

$i = 150:设置你的起始数字。

$random = ... -Count 3:这一段是核心,它会从 a-z 这 26 个字母中随机抽取 3 个。如果你想更复杂一点,可以把 3 改成 5

"{0}{1}.html":这里定义了名字的拼接方式。{0} 代表数字,{1} 代表随机字母。它们紧挨在一起,没有空格或符号。

Sort-Object LastWriteTime:依然保留了按时间排序,确保你看到的第一个副本改出来就是 150xxx,第二个是 151xxx,方便你对应文章内容。

随机字母加数字

效果:qux2gkgg.html,r1yp4qlx.html

# 定义字符池(仅小写字母和数字,避免 URL 歧义)
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789'.ToCharArray()

Get-ChildItem -Filter *.html -File | ForEach-Object {
    $oldFile = $_
    $newName = ""
    
    # 循环直到生成一个不存在的文件名
    do {
        # 随机取 8 次字符,允许重复出现
        $randomBase = -join (1..8 | ForEach-Object { $chars | Get-Random })
        $newName = "$randomBase.html"
    } while (Test-Path (Join-Path $oldFile.DirectoryName $newName))

    Write-Host "正在重命名: $($oldFile.Name) -> $newName" -ForegroundColor Cyan
    Rename-Item -Path $oldFile.FullName -NewName $newName
}

声明:来自运营团队,仅代表创作者观点。链接:https://eyangzhen.com/3494.html

运营团队的头像运营团队

相关推荐

添加微信
添加微信
Ai学习群
返回顶部