如何基于文件列表批量将指定JPG文件复制到另一目录
基于文件列表批量复制指定JPG文件的方案
完全可行,以下是不同平台下的实现方案,均能基于文件列表快速完成批量复制:
Windows 批处理方案
假设你有一个file_list.txt(每行是要复制的JPG文件名,支持相对/绝对路径),源目录为C:\source_jpgs,目标目录为D:\target_jpgs。
创建batch_copy.bat文件,内容如下:
@echo off set "SOURCE_DIR=C:\source_jpgs" set "TARGET_DIR=D:\target_jpgs" set "FILE_LIST=file_list.txt" :: 自动创建目标目录(如果不存在) if not exist "%TARGET_DIR%" mkdir "%TARGET_DIR%" :: 遍历文件列表执行复制 for /f "delims=" %%f in (%FILE_LIST%) do ( copy "%SOURCE_DIR%\%%f" "%TARGET_DIR%\" ) echo 批量复制完成!
使用方式:修改上述路径为你的实际路径,双击运行批处理文件即可。
Linux/macOS Shell 脚本方案
同样基于file_list.txt,源目录为/home/you/source_jpgs,目标目录为/home/you/target_jpgs。
创建batch_copy.sh文件,内容如下:
#!/bin/bash SOURCE_DIR="/home/you/source_jpgs" TARGET_DIR="/home/you/target_jpgs" FILE_LIST="file_list.txt" :: 自动创建目标目录(如果不存在) mkdir -p "$TARGET_DIR" :: 遍历文件列表执行复制 while IFS= read -r filename; do cp "$SOURCE_DIR/$filename" "$TARGET_DIR/" done < "$FILE_LIST" echo "批量复制完成!"
使用方式:给脚本添加执行权限chmod +x batch_copy.sh,然后运行./batch_copy.sh。
Python 跨平台方案
如果需要跨Windows/Linux/macOS运行,Python脚本是更通用的选择:
import os import shutil # 替换为你的实际路径 source_dir = "/path/to/source_jpgs" # Windows路径示例:"C:\\source_jpgs" target_dir = "/path/to/target_jpgs" # 确保目标目录存在 os.makedirs(target_dir, exist_ok=True) # 读取文件列表,跳过空行 with open("file_list.txt", "r", encoding="utf-8") as f: filenames = [line.strip() for line in f if line.strip()] # 批量复制 for filename in filenames: source_path = os.path.join(source_dir, filename) if os.path.exists(source_path): shutil.copy2(source_path, target_dir) print(f"已复制: {filename}") else: print(f"警告: 文件不存在,跳过: {filename}") print("所有文件处理完成!")
使用方式:修改路径后,运行python batch_copy.py即可。
注意事项
- 文件列表中的文件名需与源目录中的文件名完全一致(Linux/macOS区分大小写)
- 如果文件列表中是文件的绝对路径,可直接使用该路径,无需设置
source_dir
内容的提问来源于stack exchange,提问作者Balachandran Nair
相关产品推荐
相关产品推荐

