批处理查找指定文本里的文件,并复制到指定位置,找不到的内容生成一个文本方便核对
@echooffecho正在搜索文件……setn=0for%%ain(de)do(ifexist%%a:\(for/f"delims="%%iin(list.txt)do...
@echo off
echo 正在搜索文件……
set n=0
for %%a in (d e) do (
if exist %%a:\ (
for /f "delims=" %%i in (list.txt) do (
for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%%i" 2^>nul') do (
if /i "%%~nxb" equ "%%i" (
set /a n+=1
echo 找到"%%~nxb"文件
echo "%%~dpb%%~nxb">>a.txt
copy "%%~dpb%%~nxb" "D:\finallists" /y
) else ( echo "%%i">>b.txt)
)
)
)
)
)
echo *********************************
echo 共找到并复制%n%个文件!
echo *********************************
pause
notepad.exe a.txt
生成的b.txt里面的内容不对不是我list.txt里没有搜到的文本。换个电脑弄就根本不生成b.txt了……麻烦哪位大神帮忙看下谢谢,还有没财富了悬赏不了,见谅 展开
echo 正在搜索文件……
set n=0
for %%a in (d e) do (
if exist %%a:\ (
for /f "delims=" %%i in (list.txt) do (
for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%%i" 2^>nul') do (
if /i "%%~nxb" equ "%%i" (
set /a n+=1
echo 找到"%%~nxb"文件
echo "%%~dpb%%~nxb">>a.txt
copy "%%~dpb%%~nxb" "D:\finallists" /y
) else ( echo "%%i">>b.txt)
)
)
)
)
)
echo *********************************
echo 共找到并复制%n%个文件!
echo *********************************
pause
notepad.exe a.txt
生成的b.txt里面的内容不对不是我list.txt里没有搜到的文本。换个电脑弄就根本不生成b.txt了……麻烦哪位大神帮忙看下谢谢,还有没财富了悬赏不了,见谅 展开
1个回答
推荐于2016-04-19
展开全部
抱歉了,上次是我回答的,有点随意。改成如下:
@echo off
echo 正在搜索文件……
set n=0
echo 0>temp.txt>nul
for %%a in (d e) do (
if exist %%a:\ (
for /f "delims=" %%i in (list.txt) do (
for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%%i" 2^>nul') do (
if /i "%%~nxb" equ "%%i" (set /a n+=1
echo 找到"%%~nxb"文件
echo %%~nxb >>temp.txt
echo "%%~dpb%%~nxb">>a.txt
echo copy "%%~dpb%%~nxb" "D:\finallists" /y
)))))
)
for /f "delims=" %%i in (list.txt) do (
findstr /i /c:"%%i" temp.txt||echo %%~i >>b.txt)
del temp.txt
echo *********************************
echo 共找到并复制%n%个文件!
echo *********************************
pause
notepad.exe a.txt
追答
错误多的让我自己都无语了这句:echo copy "%%~dpb%%~nxb" "D:\finallists" /y改为(因为是测试,不需要复制所以,把这句改为显示了)copy "%%~dpb%%~nxb" "D:\finallists" /y
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询