-
任务目标: 从一个包含 100 个独特文件的源文件夹中,根据另一个文本文件中列举的 40 个文件名,将这些指定文件剪切到目标文件夹。
-
文件夹结构:
- 源文件夹路径: 包含 100 个不同命名的文本文件的文件夹,每个文件具有唯一的文件名。
- 目标文件夹路径: 存放剪切文件的目标文件夹。
-
操作流程:
- 读取包含目标文件名的文本文件(一览文件)。
- 对于每个文件名,在源文件夹中检查是否存在相应文件。
- 如果存在,则将该文件剪切到目标文件夹。
- 记录成功剪切的文件,并提供相关的日志信息。
- 如果文件不存在,记录并提供相应的日志信息。
-
执行前提: 确保在执行剪切操作之前,备份了重要数据,以防不小心删除或移动了关键文件。
-
安全性考虑: 在执行文件操作之前,建议进行充分的测试以确保脚本的正确性。避免删除或移动重要文件,确保对文件操作具有适当的权限。
-
日志记录: 记录剪切操作的结果,包括成功剪切的文件和任何错误情况。
@echo off
setlocal enabledelayedexpansion
rem 设置源文件夹和目标文件夹
set "source_directory=C:\path\to\source"
set "target_directory=C:\path\to\target"
rem 遍历包含要移动文件名的文件
for /f %%i in (C:\path\to\list.txt) do (
rem 构建源和目标路径
set "source_file=!source_directory!\%%i"
set "target_file=!target_directory!\%%i"
rem 检查源文件是否存在,然后移动文件
if exist "!source_file!" (
move "!source_file!" "!target_file!"
echo Moved: !source_file! to !target_file!
) else (
echo Source file not found: !source_file!
)
)
endlocal
在上面的脚本中,C:\path\to\source
是存放所有 100 个文件的文件夹路径,C:\path\to\target
是你要将文件剪切到的目标文件夹路径,C:\path\to\list.txt
是包含 40 个文件名的文本文件。