![Board logo](images/default/logo.gif)
标题: [问题求助] 批量查找指定文件夹里的文件并复制,代码救助! [打印本页]
作者: braver0905 时间: 2017-12-25 10:52 标题: 批量查找指定文件夹里的文件并复制,代码救助!
录音文件夹的检索,并复制出检索的结果。
A文件夹 源文件夹(大量文件存放目录,包含子目录)
B文件夹 存放查找出的文件夹(用于查找到文件复制存放目录)
1.txt 存放要查找的文件的名(不是全名,如txt的文件存放的是:13813813813 ,实际文件保存的名为:013813813813_20171921093617_067.WAV)
我在网上找到一段代码,代是提示找不到文件,请各位大能帮解决一下!谢谢!
代码如下:
@echo off
setlocal enabledelayedexpansion
rem set parameter here
rem 查找的源目录
set sourcePath=F:\录音
rem 复制到文件夹
set targetPath=E:\201705-201711
rem 要查找的文件列表
set fileList=1.txt
set /a copyCount=0
dir /s /b !sourcePath!>filelist.txt
for /f "delims=" %%i in (!fileList!) do (
find "%%i" filelist.txt > findfile.txt
if !errorlevel! equ 0 (
for /f "skip=2 delims=" %%j in (findfile.txt) do (
copy /y %%j !targetPath!\%%i>nul
set /a copyCount+=1
)
)else (
echo can't find file %%i
)
)
rem 查找文件目录
del filelist.txt
rem 找到的文件目录
del findfile.txt
echo ************************************
echo copy file success: !copyCount!
pause
作者: yhcfsr 时间: 2017-12-25 12:08
本帖最后由 yhcfsr 于 2017-12-25 12:30 编辑
可以肯定,这段代码使用的1.txt中存放的是带后缀的文件名,像题主这样只写出文件名部分字段,即使复制成功,去B文件夹文件夹看肯定全是没后缀的白色文件
至于提示找不到文件,如果是中文提示就是代码存在问题(我看了下这个可能不大);如果是英文提示,这是代码作者加上去的,表示源目录不存在1.txr中所列目录或文件
我稍微改了下,不过并不能解决找不文件的问题,我想你要仔细检查1.txt中的内容- @echo off
- setlocal enabledelayedexpansion
-
- rem set parameter here
-
- rem 查找的源目录
- set sourcePath=F:\录音
- rem 复制到文件夹
- set targetPath=E:\201705-201711
- rem 要查找的文件列表
- set fileList=1.txt
-
- set /a copyCount=0
-
- dir /a-d /s /b !sourcePath!>filelist.txt
-
- for /f "delims=" %%i in (!fileList!) do (
-
- find "%%i" filelist.txt > findfile.txt
-
- if !errorlevel! equ 0 (
-
- for /f "skip=2 delims=" %%j in (findfile.txt) do (
- copy /y %%j !targetPath!>nul
- set /a copyCount+=1
- )
-
- )else (
- echo can't find file %%i
- )
-
- )
-
- rem 查找文件目录
- del filelist.txt
- rem 找到的文件目录
- del findfile.txt
- echo ************************************
- echo copy file success: !copyCount!
- pause
复制代码
作者: braver0905 时间: 2017-12-25 14:09
回复 2# yhcfsr
1.txt的内容大致如下:
待查找的目录内容如下:
报错信息如下:
作者: yhcfsr 时间: 2017-12-25 19:02
回复 3# braver0905
没什么问题啊,提示找不到两个符合要求的文件,那就是源目录里本身就没有吧
作者: braver0905 时间: 2017-12-26 15:13
回复 4# yhcfsr
好的!我再检查检查。谢谢!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |