[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何根据txt列表搜索文件夹及子文件夹的文件,移动到指定文件夹?

根据txt列表(一行一个文件名)搜索文件夹及子文件夹的文件,移动到指定文件夹,如果没找到这个文件的 记录到日志中,成功的可以不记录,记录也可以
请大大帮助

感谢版主的热心帮助,但是还没有运行成功,全部都没有找到,
我用这个可以实现移动,但不知道怎么记录没有找到的

@echo off
title  文件移动工具
for /f %%a in (.\a.txt) do for /r %%i in (%%a) do if exist "%%i" Move "%%i" "J:\a\
pause

TOP

本帖最后由 下一页 于 2012-11-20 16:33 编辑

set Search_Dir="E:\Program Files\Tools\"
改了的,改成了文件所在的目录了,且BAT也在这个目录里
有844行,且为中文文件名

黄帝内经_张三2010.pdf
黄帝_贺娟2009.pdf

这样的

TOP

那能不能就我上传这个代码修改一下呢,
1、扩展为能查找子目录
2、增加没找到的文件的记录

TOP

  1. @echo off
  2. title  文件移动工具
  3. if not exist Found md Found
  4. (for /f "delims=" %%a in (.\a.txt) do (
  5.     set .found=
  6.     for /r %%i in ("%%a?") do (
  7.         if /i "%%~nxi" == "%%a" (
  8.             Move "%%i" "Found"
  9.             set .found=#
  10.         )
  11.     )
  12.     if not defined .found echo %%a
  13. )) >NotFound.txt
  14. pause
复制代码
增加了一个 "delims=" 可以适就 文件名中有空格了,很好用了,感谢 tmplinshi 的帮助,7000多个文件已经移动完成

TOP

返回列表