如何编写脚本按文件前缀创建文件夹并批量复制对应文件
批量按文件前缀分类到对应文件夹的脚本方案
以下提供几种不同平台的脚本实现,按需选择:
Bash 脚本(适用于 Linux/macOS)
#!/bin/bash # 遍历所有符合格式的Excel文件 for file in Doc*-*.xlsx; do # 提取前缀(比如从Doc0001-done.xlsx中得到Doc0001) prefix=$(echo "$file" | cut -d'-' -f1) # 创建文件夹(如果不存在) mkdir -p "$prefix" # 复制文件到对应文件夹 cp "$file" "$prefix/" done
使用说明:将脚本保存为sort_files.sh,赋予执行权限chmod +x sort_files.sh,在文件所在目录运行即可。
PowerShell 脚本(适用于 Windows)
# 遍历当前目录下符合格式的Excel文件 Get-ChildItem -Filter "Doc*-*.xlsx" | ForEach-Object { # 提取前缀 $prefix = $_.Name.Split('-')[0] # 创建文件夹(如果不存在) if (-not (Test-Path $prefix)) { New-Item -ItemType Directory -Name $prefix | Out-Null } # 复制文件到对应文件夹 Copy-Item $_.FullName -Destination $prefix }
使用说明:打开PowerShell,切换到文件所在目录,直接粘贴运行这段代码即可。
Python 脚本(跨平台)
import os import shutil # 获取当前目录下所有符合格式的文件 for filename in os.listdir('.'): if filename.startswith('Doc') and filename.endswith('.xlsx') and '-' in filename: # 提取前缀 prefix = filename.split('-')[0] # 创建文件夹(如果不存在) if not os.path.exists(prefix): os.makedirs(prefix) # 复制文件到对应文件夹 shutil.copy(filename, os.path.join(prefix, filename))
使用说明:保存为sort_files.py,在文件所在目录运行python sort_files.py即可。
内容的提问来源于stack exchange,提问作者Erghi
相关产品推荐
相关产品推荐

