XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

批量修改文件扩展名

2025.03.27

本文介绍下 Windows 系统下怎么批量修改文件的扩展名。

我工作中突然有个需求,有一大堆图片的 URL,我需要将他们都保存到本地。想着这个应该很简单, 找 GPT 写了个脚本。然后因为这些文件都没有扩展名,我用 Powertoys 里的重命名工具尝试了一阵,无法解决。我就又问了一下如何批量修改扩展名。有一说一,有了 GPT,遇到些个机械且重复的工作,搞个脚本解决一下真是舒服。

  1. 批量修改文件扩展名
    1. Windows 批处理文件
    2. Linux/MacOS Bash 脚本
    3. Python 脚本
  2. 没有扩展名的怎么办?

批量修改文件扩展名

GPT 效率还是高的,一下给了我 3 个系统的解决办法。

Windows 批处理文件

使用 Windows 的批处理文件可以快速批量修改扩展名。以下是一个示例脚本:

@echo offsetlocal enabledelayedexpansioncd "文件所在的目录"for %%f in (*.旧扩展名) do (ren "%%f" "%%~nf.新扩展名")
  • 文件所在的目录 替换为文件的实际路径。
  • 旧扩展名新扩展名 替换为你想要修改的文件扩展名。
  • 保存为 .bat 文件并运行即可批量修改扩展名。
这个稍微复杂了点,我记得只要在文件所属文件夹下新建个批处理文件,然后输入 ren *.png *.jpg 就好了。

Linux/MacOS Bash 脚本

如果你在 Linux 或 MacOS 上,你可以使用 bash 脚本来批量修改扩展名。

#!/bin/bash
cd "文件所在的目录"
for file in *.旧扩展名; do
mv -- "$file" "${file%.旧扩展名}.新扩展名"
done

  • 替换 文件所在的目录 为文件的路径,替换 旧扩展名新扩展名
  • 将脚本保存为 .sh 文件,使用 bash 脚本名.sh 来运行。

Python 脚本

import osdirectory = "文件所在的目录"old_extension = ".旧扩展名"new_extension = ".新扩展名"for filename in os.listdir(directory):if filename.endswith(old_extension):base = os.path.splitext(filename)[0]new_name = base + new_extensionos.rename(os.path.join(directory, filename), os.path.join(directory, new_name))

没有扩展名的怎么办?

因为这些文件没有扩展名,所以上面的这个又不太试用。我又继续问,GPT 给出了答案。

1. 打开一个记事本,输入以下内容:

@echo offcd "文件所在的目录"for %%f in (*) do (if not "%%~xf"=="" (echo %%f 已有扩展名,跳过) else (ren "%%f" "%%f.jpg"))
    2. 将 "文件所在的目录" 替换为你的文件所在的路径,例如 C:\Users\YourName\Desktop\YourFolder。3. 将文件保存为 .bat 文件,例如 rename.bat。4. 双击运行这个 .bat 文件,它会将该目录下所有没有扩展名的文件重命名为 .jpg

    这个脚本会检查哪些文件没有扩展名,然后将其重命名为 .jpg 文件。

    © 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
    请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB