批量从文件夹过滤文件

 

  1. 任务目标: 从一个包含 100 个独特文件的源文件夹中,根据另一个文本文件中列举的 40 个文件名,将这些指定文件剪切到目标文件夹。

  2. 文件夹结构:

    • 源文件夹路径: 包含 100 个不同命名的文本文件的文件夹,每个文件具有唯一的文件名。
    • 目标文件夹路径: 存放剪切文件的目标文件夹。
  3. 操作流程:

    • 读取包含目标文件名的文本文件(一览文件)。
    • 对于每个文件名,在源文件夹中检查是否存在相应文件。
    • 如果存在,则将该文件剪切到目标文件夹。
    • 记录成功剪切的文件,并提供相关的日志信息。
    • 如果文件不存在,记录并提供相应的日志信息。
  4. 执行前提: 确保在执行剪切操作之前,备份了重要数据,以防不小心删除或移动了关键文件。

  5. 安全性考虑: 在执行文件操作之前,建议进行充分的测试以确保脚本的正确性。避免删除或移动重要文件,确保对文件操作具有适当的权限。

  6. 日志记录: 记录剪切操作的结果,包括成功剪切的文件和任何错误情况。

@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 个文件名的文本文件。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值