本文目录导读:

我来为您介绍几种批量重命名文件的方法,适用于不同操作系统。
Windows 系统
PowerShell 脚本
# 示例:给所有jpg文件添加前缀
Get-ChildItem -Path "C:\YourFolder" -Filter "*.jpg" | ForEach-Object {
$newName = "prefix_" + $_.Name
Rename-Item -Path $_.FullName -NewName $newName
}
# 示例:替换文件名中的文字
Get-ChildItem -Path "C:\YourFolder" | ForEach-Object {
$newName = $_.Name -replace "oldtext", "newtext"
Rename-Item -Path $_.FullName -NewName $newName
}
# 示例:按序号重命名
$i = 1
Get-ChildItem -Path "C:\YourFolder" -Filter "*.jpg" | ForEach-Object {
$newName = "Photo_{0:D4}.jpg" -f $i
Rename-Item -Path $_.FullName -NewName $newName
$i++
}
批处理脚本 (.bat)
@echo off
setlocal enabledelayedexpansion
:: 添加前缀
set count=1
for %%f in (*.txt) do (
ren "%%f" "prefix_%%f"
)
:: 序号重命名
set count=1
for %%f in (*.jpg) do (
set "newname=File_!count!.jpg"
ren "%%f" "!newname!"
set /a count+=1
)
macOS/Linux 系统
Shell 脚本
#!/bin/bash
# 添加后缀
for file in *.txt; do
mv "$file" "new_${file}"
done
# 批量替换文件名中的文字
for file in *; do
newname=$(echo "$file" | sed 's/old/new/g')
mv "$file" "$newname"
done
# 序号重命名
count=1
for file in *.jpg; do
mv "$file" "$(printf "Photo_%04d.jpg" $count)"
((count++))
done
使用 rename 命令
# 安装 (Ubuntu/Debian) sudo apt install rename # 替换文件扩展名 rename 's/\.txt$/.md/' *.txt # 添加前缀 rename 's/^/prefix_/' *.jpg # 大小写转换 rename 'y/a-z/A-Z/' *.jpg
Python 脚本(跨平台)
基础批量重命名
import os
folder_path = r'C:\YourFolder' # 修改为你的文件夹路径
# 添加前缀
prefix = 'new_'
for filename in os.listdir(folder_path):
if os.path.isfile(os.path.join(folder_path, filename)):
new_name = prefix + filename
os.rename(
os.path.join(folder_path, filename),
os.path.join(folder_path, new_name)
)
# 按序号重命名
folder = 'C:\\YourFolder'
extensions = ['.jpg', '.png']
for i, filename in enumerate(os.listdir(folder), 1):
if any(filename.endswith(ext) for ext in extensions):
ext = os.path.splitext(filename)[1]
new_name = f"Image_{i:04d}{ext}"
os.rename(
os.path.join(folder, filename),
os.path.join(folder, new_name)
)
高级功能脚本
import os
import re
from datetime import datetime
def batch_rename(folder_path, pattern, replacement):
"""
批量重命名文件
:param folder_path: 文件夹路径
:param pattern: 要替换的模式(正则表达式)
:param replacement: 替换后的内容
"""
for filename in os.listdir(folder_path):
if os.path.isfile(os.path.join(folder_path, filename)):
# 使用正则替换
new_name = re.sub(pattern, replacement, filename)
if new_name != filename:
os.rename(
os.path.join(folder_path, filename),
os.path.join(folder_path, new_name)
)
print(f"Renamed: {filename} -> {new_name}")
# 使用示例
batch_rename(r'C:\YourFolder', r'\s+', '_') # 替换空格为下划线
使用专门软件
Windows:
- Advanced Renamer(免费)
- Bulk Rename Utility(免费)
- Total Commander(付费)
macOS:
- Name Mangler(付费)
- Renamer(免费)
- A Better Finder Rename(付费)
实际应用示例
清理照片文件名
# PowerShell:批量清理照片文件名
$path = "C:\Photos"
Get-ChildItem $path -Include *.jpg, *.png |
ForEach-Object {
$newName = $_.Name -replace 'IMG_\d+_', '' -replace '[^\w\.]', '_'
Rename-Item -Path $_.FullName -NewName $newName -WhatIf
}
提示:
- 在执行批量操作前,先用
-WhatIf(PowerShell)测试 - 建议先备份文件
- 使用正则表达式时要小心,避免误改
根据您的具体需求,选择最适合的方法,如果需要更复杂的重命名规则,请告诉我具体需求,我可以提供定制脚本。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播