You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取以‘/’分隔的字符串后半段批量重命名文件名?

批量重命名提取路径分隔符后的文件名

下面提供几种不同环境下的实现方法,按需选择:

一、Linux/macOS 终端命令行

方法1:用basename命令

直接遍历目标文件,借助basename提取纯文件名后重命名:

for file in fastq/SRR*; do mv "$file" "$(basename "$file")"; done

basename会自动剔除文件路径前缀,只保留最后一段文件名。执行后,fastq/目录下的SRRxxx文件会被移动到当前目录,文件名保持SRRxxx。

方法2:用Shell参数扩展

不用额外命令,直接通过Shell的参数扩展提取文件名:

for file in fastq/SRR*; do mv "$file" "${file##*/}"; done

${file##*/}是Shell的语法,意思是删除从字符串开头到最后一个/的所有内容,剩下的就是目标文件名。

二、Windows 环境

PowerShell 命令

打开PowerShell,执行以下命令:

Get-ChildItem -Path .\fastq\SRR* | Rename-Item -NewName { $_.Name } -Destination .\

这条命令会把fastq目录下所有SRR开头的文件移动到当前目录,文件名保留SRRxxx。

命令提示符(CMD)

打开CMD窗口,运行:

for /r fastq %f in (SRR*) do move "%f" "%~nf"

%~nf用于提取文件的纯文件名(不含路径),执行后文件会被移到当前目录。

三、Python 跨平台脚本

如果需要在不同系统通用,写个简单的Python脚本:

import os

# 原文件所在的子目录
source_folder = "./fastq"

# 遍历目录下的文件
for file_name in os.listdir(source_folder):
    # 只处理SRR开头的文件
    if file_name.startswith("SRR"):
        # 拼接原文件的完整路径
        old_full_path = os.path.join(source_folder, file_name)
        # 新路径是当前目录下的目标文件名
        new_full_path = file_name
        # 执行重命名/移动操作
        os.rename(old_full_path, new_full_path)

保存为rename_files.py,在终端运行python rename_files.py即可。

内容的提问来源于stack exchange,提问作者Top Criminal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:30:57