中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:如何批量删除一个文件夹里的同一后缀名的文件
作者:
标题: 请教:如何批量删除一个文件夹里的同一后缀名的文件 上一主题 | 下一主题
dows
初级用户





积分 32
发帖 12
注册 2006-6-10
状态 离线
『楼 主』:  请教:如何批量删除一个文件夹里的同一后缀名的文件

请教一下:如何批量删除一个文件夹里的同一后缀名的文件(如.gif)?
              还有如何批量将光驱的盘里的文件夹里同一后缀名的文件(如.mp3)复制到硬盘里的一个文件夹里?

[ Last edited by willsort on 2006-6-14 at 16:40 ]

2006-6-13 23:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  批量删除某文件夹下同一后缀名的文件:
  
@for %%i in (*.gif) do del %%i
  此代码只能删除位于当前目录下的文件,而不能删除子文件夹中的文件。如果要不加确认,请在del后加上静默参数 /q。

  同样的道理,复制的代码是:
  
@for %%i in (*.mp3) do copy %%i Directory


2006-6-13 23:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

晕,为什么不 del *.gif,写批处理写习惯了,却忘了通配符更简单。这叫偏执,嘿嘿。

或者copy *.mp3 todir /y



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2006-6-14 01:07
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
dows
初级用户





积分 32
发帖 12
注册 2006-6-10
状态 离线
『第 4 楼』:  

谢谢上两楼的指教 。
删除的用两个都行 (@for %%i in (*.gif) do del %%i,或 del *.gif),但是复制那个,怎么总不能把bat文件放到光盘里吧?
另外再问一下:怎么把删除的那 个bat(名为del.bat)移动到一个文件夹里的包含的不同文件夹里 ?

[ Last edited by dows on 2006-6-14 at 10:55 ]

2006-6-14 10:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 5 楼』:  

  Climbing大哥说的是,用批处理习惯了,反倒忽视了最简单的办法
 
  虽然不能把批处理放到光盘里去,但是可以用 cd /d 跳转到光盘指定目录,然后用copy命令就可以了,此时,bat可以放在任意目录下。要实现更多的功能,可以参照以下的代码进行修改。

  如果要删除某个文件夹下所有的某类文件(包括子目录中的),可以用以下代码来实现,为了说明路径带空格需要用引号括起来这个细节,文件名都带了空格:
@for /f %%i in ('dir /a /b s "D:\t est" ^|find ".mp3"') do copy /y %%i "D:\D irectory"


2006-6-14 13:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dows
初级用户





积分 32
发帖 12
注册 2006-6-10
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by namejm at 2006-6-14 13:51:
  Climbing大哥说的是,用批处理习惯了,反倒忽视了最简单的办法:P
 
  虽然不能把批处理放到光盘里去,但是可以用 cd /d 跳转到光盘指定目彠...

我是菜鸟一个,不大懂楼上所说的,能否解释一下,谢谢!!!!
@for /f %%i in ('dir /a /b s "D:\t est" ^|find ".mp3"') do copy /y %%i "D:\D irectory"

括号里的是什么意思啊??

具体的说吧:
1  、 我想把F盘里 tu pian 文件夹里各个文件夹里的gif文件删除
2  、 把H盘(光驱盘)里的某个文件夹(如Beyond)里的mp3文件复制到E盘  Beyond里去

2006-6-14 17:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 7 楼』:  

  刚才受willsort的提醒,以上代码中find ".mp3"语句可能会删掉形如test.mp3.lrc的文件,所以建议楼主不要采用以上代码。又翻看了一下for命令,发现了一个更好的办法。考虑到路径含有空格,并且文件名也可能含有空格,采用以下代码不至于漏删(批处理删文件有风险,操作须谨慎):
@echo off
for /r "f:\tu pian" %%i in (*.gif) do del /y "%%i"
explorer "f:\tu pian"
  复制文件的代码如下:
@echo off
cd /d H:\Beyond
md E:\Beyond
copy /y "*.mp3" E:\Beyond
explorer E:\Beyond


2006-6-14 17:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re dows:

      既然缺乏批处理的基础知识,那么建议在运行中输入:%systemroot%\help\ntcmds.chm 熟悉一下批处理和命令行。

      现在,向你推荐另外一个简单的方法:

      在资源浏览器中,右键单击 tu pian 或者 Beyond 文件夹选择“搜索”,然后在文件名框中输入 *.gif ,点击“搜索”,待完成后,Ctrl+A选择所有搜索结果,然后可以Del删除,Shift+Del彻底删除,Ctrl+C/Ctrl+V复制,Ctrl+X/Ctrl+V复制。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-6-14 17:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 9 楼』:  

  现在对@for /f %%i in ('dir /a /b s "D:\t est" ^|find ".mp3"') do copy /y %%i "D:\D irectory"作个解释:
  @ 为隐藏命令,隐藏它之后的命令在屏幕上的显示;
  for 对一组文件中的每一个文件都执行指定的命令。如果用在批处理中,变量要用双百分号%%引用;如果在CMD中使用,只需一个%就可以了;
  | 管道符号,可以把它之前的命令的输出内容作为它之后的命令的输入内容。
  
  这段代码的过程大致是这样的:
  先用dir命令把指定文件夹下的所有文件按照大小罗列出来,然后用find命令把dir的结果里文件名中含有.mp3字符串的文件提取出来,最后复制到指定文件夹下。

2006-6-14 18:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 10 楼』:  



  Quote:
那么建议在运行中输入:%systemroot%\help\ntcmds.chm

来个最简单的:
hh ntcmds.chm





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-6-14 18:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: