windows 批处理程序批量查找文档
有一个待查的文档名列表filelist,其中包含多个文档名。(这个list该存放在哪里?一个记事本里?)在所有硬盘驱动器中查找这些文档,查到以后复制到指定位置,比如d:\...
有一个待查的文档名列表filelist,其中包含多个文档名。(这个list该存放在哪里?一个记事本里?)
在所有硬盘驱动器中查找这些文档,查到以后复制到指定位置,比如d:\
该怎么写? 展开
在所有硬盘驱动器中查找这些文档,查到以后复制到指定位置,比如d:\
该怎么写? 展开
展开全部
请把 待查的文档名列表 filelist.txt 与包含下面代码的批处理文件放到一起。
下面代码只搜索全部硬盘(不搜索U盘、光盘、网络盘等等)。
如果直接把找到的文件复制到 D: 盘,在查找 D: 盘时又会找到这些刚刚复制过来的文件,可能造成混乱,所以下面代码先把所有硬盘上找到的指定文件的位置保存到 d:\foundfiles.txt. 待全部文件查找完以后,再专门根据 d:\foundfiles.txt 的信息,复制文件到 d:\foundfiles(放到 D: 根目录可能有点乱吧)
@echo off&setlocal enabledelayedexpansion
for /f "skip=1" %%i in ('wmic logicaldisk where drivetype^=3 get name') do (
cd /d %%i\
for /f "delims=" %%f in (filelist.txt) do (set "f=%%f"
for /f "delims=" %%s in ('dir /b /s /a-d "!f!"') do echo %%s>>d:\foundfiles.txt))
md d:\foundfiles
for /f "delims=" %%f in (d:\foundfiles.txt) do copy "%%f" d:\foundfiles
下面代码只搜索全部硬盘(不搜索U盘、光盘、网络盘等等)。
如果直接把找到的文件复制到 D: 盘,在查找 D: 盘时又会找到这些刚刚复制过来的文件,可能造成混乱,所以下面代码先把所有硬盘上找到的指定文件的位置保存到 d:\foundfiles.txt. 待全部文件查找完以后,再专门根据 d:\foundfiles.txt 的信息,复制文件到 d:\foundfiles(放到 D: 根目录可能有点乱吧)
@echo off&setlocal enabledelayedexpansion
for /f "skip=1" %%i in ('wmic logicaldisk where drivetype^=3 get name') do (
cd /d %%i\
for /f "delims=" %%f in (filelist.txt) do (set "f=%%f"
for /f "delims=" %%s in ('dir /b /s /a-d "!f!"') do echo %%s>>d:\foundfiles.txt))
md d:\foundfiles
for /f "delims=" %%f in (d:\foundfiles.txt) do copy "%%f" d:\foundfiles
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询