bat遍历文件夹内的所有txt文件,并将文件里面含有 a1,s1 字符串的txt文件删除。

例如:
文件夹 D:\111\
在文件夹里面有 A.txt, B.txt, C.txt, D.txt,.....
里面可能有 C.txt, F.txt 里面内容包含 a1,s1 字符串,需要将含有这个字符串的 TXT 删除掉,并统计共计删除了多少个txt,以及删除的TXT 的名称,自动导入到一个 Count.txt里面去。

万分感谢,分数送上。

::win8@cmd
@echo off
setlocal enabledelayedexpansion
set num=0
for /f "delims=" %%a in ('dir /a-d/b/s "D:\111\*.txt"') do (
findstr /i "a1 s1" "%%a">nul&&(
del /q/f "%%~a"
echo %%a >>count.txt
set /a num+=1
)
)
echo !num!>>count.txt
echo end...
pause

你试试。 

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-11
@echo off
setlocal enabledelayedexpansion
echo ^[DeletedFileNameList^]>>Count.txt
set ctr=0
dir /b D:\111\ >>dir.tmp
for /f "delims= tokens=* eol=" %%a in (dir.tmp) do (
          findstr "a1" "D:\111\%%a" >nul
          if !errorlevel!==0 del /f /q "D:\111\%%a" >nul & echo %%a>>Count.txt
)
for /f "delims= tokens=* eol=" %%a in (dir.tmp) do (
          findstr "s1" "D:\111\%%a" >nul
          if !errorlevel!==0 del /f /q "D:\111\%%a" >nul & echo %%a>>Count.txt & set /a ctr+=1
)
echo ^[TheNumberOfTheDeletedFile^]>>Count.txt
echo !ctr!>>Count.txt
del /f /q dir.tmp >nul

相似回答