Board logo

标题: [文件操作] 如何用批处理命令删除名称或内容含有指定文字的文件? [打印本页]

作者: fanfande    时间: 2011-12-8 13:02     标题: 如何用批处理命令删除名称或内容含有指定文字的文件?

本帖最后由 CrLf 于 2011-12-10 15:34 编辑

文件夹里面的文档
假如其中的文档中含有  "特定字符1" ,"特定字符2" ,"特定字符3"....  
那么这个文档就被删除掉
(这些特定字符可以修改)

谢谢
作者: awk    时间: 2011-12-8 15:53

是文件名里面含有特定字符?
还是文件内容里面含有特定字符?
作者: fanfande    时间: 2011-12-8 18:22

回复 2# awk


    你好awk文件名或者文件内容含有都删
作者: awk    时间: 2011-12-9 10:07

  1. @echo off
  2. set "str1=a.txt"
  3. set "str2=b.txt"
  4. for /f "delims=" %%a in ('dir /b ^| findstr "%str1% %str2%"') do (
  5.     del /f /q /a "%%a"
  6. )
复制代码

作者: cnmdcxw    时间: 2011-12-9 10:29

以前下了歌曲就装在一个文件夹里,现在歌曲多了,打开慢得很,就想用歌手分类建立文件夹,把各歌手的歌曲剪切到相应的文件夹里,请懂批处理的兄弟帮小弟写个批处理,谢谢了!!!
歌曲名字如:
周杰伦-最后的战役.mp3
周杰伦-最长的电影.mp3
周杰伦-自导自演.mp3
周杰伦-烟花易冷.mp3
MP3是格式都是这个格式,歌手+横杠+歌曲名+扩展名,建立的文件夹就是"周杰伦",然后把周杰伦的歌曲全部剪切到这个文件夹里(歌手+横杠)要去掉,只要一个歌名
作者: lvsehuaxue    时间: 2011-12-10 15:28

本帖最后由 lvsehuaxue 于 2011-12-10 15:39 编辑
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  3.     echo %%i |findstr "特殊字符1 特殊字符2  特殊字符3" && del /q /f "%%i" ||(findstr "特殊字符1 特殊字符2  特殊字符3" "%%i" && del /q /f "%%i")
  4. )>nul
  5. pause
复制代码

作者: CrLf    时间: 2011-12-10 15:38

这种时候可以用 findstr /m
  1. @echo off
  2. set key="特定字符1" "特定字符2" "特定字符3"
  3. (for /f "delims=" %%a in ('dir /b /a-d %key%^&findstr /m /c:%key:" "=" /c:"%') do del /f "%%a") 2>nul
复制代码

作者: tangqingfu    时间: 2013-6-21 21:28

学习一下……
作者: 522235677    时间: 2013-6-21 22:01

本帖最后由 522235677 于 2013-6-21 22:25 编辑

回复 5# cnmdcxw
  1. @echo off
  2. ::cd /d 工作目录
  3. for /f "delims=" %%i in ('dir /b *.mp3') do (
  4. if not "%%~nxi"=="%~nx0" for %%j in ("%%i") do (
  5.   for /f "tokens=1,2 delims=-" %%k in ("%%~nxj") do (
  6.    if not exist "%%k" md "%%k"
  7.    move "%%i" "%cd%\%%k\%%l"
  8.   )
  9. )
  10. )
  11. pause
复制代码
MP3是格式都是这个格式,歌手+横杠+歌曲名+扩展名,建立的文件夹就是"周杰伦",然后把周杰伦的歌曲全部剪切到这个文件夹里(歌手+横杠)要去掉,只要一个歌名
作者: popelrain888    时间: 2022-2-20 20:05

非常好!~~~~~~~~




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2