[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理搜索到指定的各种属性文件时进行删除与重命名

在论坛搜索了下,似乎没找到类似的方法解决

我用这个方法,但不行,查不出失败的原因,请指点,谢谢,如果有其他方法,望能提点一下

当我用下面方法DEL时,如果EXE文件是的属性是灰色不能按时,确能删掉,如果是可按时,无论什么属性,却不能删,我不知道为什么


例子:

搜索ABC目录下存在的EXE、和DLL文件

1:EXE和DLL可能存在ABC里任何子文件夹下,也可能在根目录下
2:EXE和DLL有可能是具有:隐藏、系统、只读、存档,任何当中的几种或一种
3:搜到EXE,删除之
4:搜到DLL,改名为 OK.DDD (包括扩展名更改)
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /ahsra/s/b *.exe) do del /s /ahsra %%~nxa
  3. for /f "delims=" %%a in ('dir /ahsra/s/b *.dll) do attrib /s -s -h -r -a %%a&ren %%a OK.ddd
  4. pause
复制代码

[ 本帖最后由 pine 于 2009-10-15 11:01 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

del /a /f /s %%~sa

  /a:删除具有任意属性的文件
  /f:强制删除具有只读、系统及隐藏属性的文件
  /s:删除时包含子文件夹中的文件

  记得把 /a 和 /f 搭配起来使用,基本上就无敌了,这哼哈二将少了谁都成不了大器。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

明白了,非常感谢

但 重命名的为什么不行呢,能否帮我看下?

TOP

解决了,原来是自己少加了双引号给变量值

TOP

不过在用

FOR后面接着DEL时,怎么屏蔽掉文字显示呢?上面的代码,如果有找到文件,在删除时,会有出现“删除文件信息”,如果没找到文件,会提示“没找到文件”,我试过在后面接   2>nul   不行,什么原因呢,有什么方法?

TOP

回复 5楼 的帖子

1>nul 屏蔽正确显示的信息
2>nul 屏蔽错误的信息

del 文件时,找到文件,不显示信息;找不到文件,可以用2>nul屏蔽掉。

不知你怎么做的?
(*^_^*)

TOP

返回列表