查看: 1923|回复: 4
收起左侧

[系统] 怎么写这样的批处理,删除指定类型后缀以外的*.*

[复制链接]
一只野鹤上青云
发表于 2016-1-18 15:45:32 | 显示全部楼层 |阅读模式
本帖最后由 一只野鹤上青云 于 2016-1-18 16:53 编辑

del D:\*

txt,docx例外

不算赋予txt之类只读属性,再不删只读这种方法
asmreg
发表于 2016-1-18 16:55:11 | 显示全部楼层
写个批处理把txt和docx按照目录结构复制出来,然后删掉整个文件夹?
85683213
发表于 2016-1-18 17:28:01 | 显示全部楼层
asmreg 发表于 2016-1-18 16:55
写个批处理把txt和docx按照目录结构复制出来,然后删掉整个文件夹?


想法不错
[mw_shl_code=shell,true]@echo OFF
MKDIR temporary_pit
ROBOCOPY . temporary_pit /XF *.txt *.docx /MOV >NUL
RMDIR /S /Q temporary_pit[/mw_shl_code]

法二
[mw_shl_code=shell,true]@echo off
setlocal EnableDelayedExpansion
set exclude=.txt.docx.
for %%f in (*.*) do (
   if /I "%exclude%" == "!exclude:%%~Xf.=!" del "%%f"
)[/mw_shl_code]

法三

[mw_shl_code=shell,true]@echo off
attrib -r -s *.*
attrib +r +s *.txt
attrib +r +s *.docx
del *.* /S /Q
attrib -r -s *.txt
attrib -r -s *.docx
[/mw_shl_code]
简化
[mw_shl_code=shell,true]attrib -r -s *.* for %%e in (txt docx) do attrib +r +s *.%%e del *.* /S /Q attrib -r -s *.*[/mw_shl_code]

法四
算了,不写了
http://stackoverflow.com/questio ... ng-a-del-batch-file
http://stackoverflow.com/questio ... ing-some-extensions
一只野鹤上青云
 楼主| 发表于 2016-1-18 18:22:58 | 显示全部楼层
本帖最后由 一只野鹤上青云 于 2016-1-18 18:51 编辑
85683213 发表于 2016-1-18 17:28
想法不错
[mw_shl_code=shell,true]@echo OFF
MKDIR temporary_pit


@echo off
for /r D:\1\ %%a in (*) do if not "%%~xa"==".jpg" del "%%a"

我刚才网上学着,试着写了个,例外单后缀的,目前还不会例外多个后缀该怎么写。

我没有批处理基础,写的不对的地方,山寨的地方请指正


恩,刚才网上学了下,综合考虑觉得,你告诉我的exclude的方法感觉比较好,虽然目前还没完全看明白,已经会改写了。
谢谢
一只野鹤上青云
 楼主| 发表于 2016-1-19 22:16:51 | 显示全部楼层
Rem 清理D盘多余空白文件夹
for /f "usebackq delims=" %%d in (`"dir D:\* /ad/b/s | sort /R"`) do rd "%%d"
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-16 03:00 , Processed in 0.138669 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表