按名称数字对应关系批量移动文件至对应子文件夹的实现方法咨询
按名称数字对应关系批量移动文件至对应子文件夹的实现方法咨询
当然可以搞定这个需求!我给你整理了不同操作系统下的实现方案,你按需选择就行:
Windows系统(PowerShell脚本)
你可以用PowerShell来快速实现批量移动,步骤很简单:
- 打开PowerShell,导航到你的文件所在的文件夹(用
cd 你的文件夹路径命令) - 复制粘贴以下脚本并运行:
Get-ChildItem -Filter "Photo *.jpg" | ForEach-Object { # 从文件名里提取数字部分 $number = ($_.BaseName -split ' ')[1] # 拼接目标文件夹路径 $targetFolder = ".\Group $number" # 先检查目标文件夹是否存在,避免报错 if (Test-Path $targetFolder) { Move-Item -Path $_.FullName -Destination $targetFolder Write-Host "已成功移动: $($_.Name) → $targetFolder" } else { Write-Warning "目标文件夹 $targetFolder 不存在,已跳过文件: $($_.Name)" } }
macOS/Linux系统(Bash脚本)
用终端的bash命令就能轻松完成:
- 打开终端,进入文件所在目录(
cd 你的文件夹路径) - 运行以下脚本:
for file in "Photo "*.jpg; do # 提取文件名中的数字 number=$(echo "$file" | grep -oE '[0-9]+') # 确定目标文件夹 target_folder="./Group $number" # 检查文件夹是否存在后再移动 if [ -d "$target_folder" ]; then mv "$file" "$target_folder" echo "已成功移动: $file → $target_folder" else echo "警告: 目标文件夹 $target_folder 不存在,已跳过文件: $file" >&2 fi done
小提示
- 这两个脚本都支持多位数的数字(比如
Photo 10.jpg会自动移到Group 10文件夹) - 如果某个
Photo文件对应的Group文件夹不存在,脚本会自动跳过并给出提示,不会乱移动文件哦
备注:内容来源于stack exchange,提问作者Pio Shelby
相关产品推荐
相关产品推荐

