windows 文件批量重命名

80 阅读1分钟

加前缀、按时间排序

// 根目录
$folderPath = "G:\video\"  
// 获取集合 排序后的
 $files = Get-ChildItem -Path $folderPath -Filter *.wmv | Sort-Object LastWriteTime
 //加加
 $counter = 1
 //循环
 foreach ($file in $files) {
     $newName = "$($counter + 1)"
     Rename-Item -Path $file.FullName -NewName $newName+$file
     $counter++
 }
 
 

屏幕截图 2025-04-28 184753.png

屏幕截图 2025-04-28 184839.png

批量替换指定文件名字符

Get-ChildItem -Path "C:\Users\liwei\Desktop\jiangyi" | Rename-Item -NewName { $_.Name -replace '【网盘分享WPFX.LINK】', '' }

屏幕截图 2025-12-18 011805.png

屏幕截图 2025-12-18 012045.png

汉字数字换阿拉伯数字

1. 先换三十、二十、十 --整数值没法子 需要手动改

Get-ChildItem -Path "C:\Users\liwei\Desktop\jiangyi" | Rename-Item -NewName { $_.Name -replace '二十', '2' }
Get-ChildItem -Path "C:\Users\liwei\Desktop\jiangyi" | Rename-Item -NewName { $_.Name -replace '十', '1' }

2. 再换一二三四五六七八九

# 设置目标文件夹路径
$folderPath = "C:\Users\liwei\Desktop\jiangyi"
# 获取所有文件
$files = Get-ChildItem -Path $folderPath

foreach ($file in $files) {
    # 替换文件名中的汉字数字为阿拉伯数字
    $newName = [regex]::Replace($file.Name, '[一二三四五六七八九]', {
        param($m) switch ($m.Value) {
            '一' { return '1' }
            '二' { return '2' }
            '三' { return '3' }
	    '四' { return '4' }
            '五' { return '5' }
            '六' { return '6' }
            '七' { return '7' }
            '八' { return '8' }
            '九' { return '9' }
        }
    })
# 重命名文件(如果新文件名与原文件名不同)
    if ($newName -ne $file.Name) {
        Rename-Item -Path $file.FullName -NewName (Join-Path $file.DirectoryName $newName)
    }
}

屏幕截图 2025-12-18 021305.png

屏幕截图 2025-12-18 022549.png

屏幕截图 2025-12-18 022633.png

屏幕截图 2025-12-18 022926.png