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

[其他] 【已解决】怎么用批处理删除隐藏文件夹里的文件

我想删除酷我音乐的缓存文件(C:\Documents and Settings\All Users\Application Data\mcache)
代码是这样写的:
  1. del /f /s /q %ALLUSERSPROFILE%\Application Data\mcache\*.*
复制代码
但执行后会提示系统找不到指定文件,所以把代码改了下:
  1. cd %ALLUSERSPROFILE%
  2. dir /ah
  3. cd Application Data\mcache
  4. del /f /s /q *.*
复制代码
执行后成功删除了,但这样做有多余的动作请帮我改改。能不能在不修改Application Data隐藏属性情况下进行删除操作。

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

评分人数

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

哦 谢谢 各们大大的帮助
谢谢达

TOP

回复 11楼 的帖子

1、换行
2、防止空变量
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 z8h8a8ng 于 2009-3-7 16:12 发表



del /f /s /q "%ALLUSERSPROFILE%\Application Data\mach\*.*"


还是一样提示系统找不到指定文件

管理已经给你提示了,怎么不修改哈。
应该是:
del /f /s /q /a "%ALLUSERSPROFILE%\Application Data\mach\*.*"

TOP

顺便问下
echo.  为什么还要加个点呀是什么意思哦

TOP

哦 谢谢 各位大大了
今天损失了 也学到了

TOP

哎 这个批处理把我F盘里软件文件夹里的软件都给删除了 晕死 还好不是没放在F盘 要不 死惨了

TOP

回复 7楼 的帖子

6楼不是说了要加/a开关么?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 jsj30651 于 2009-3-7 12:09 发表
后面的需要用引号括起来,变成因为路径当中有空格

  1. del /f /s /q "%ALLUSERSPROFILE%\Application Data\mach\*.*"
复制代码


还是一样提示系统找不到指定文件

TOP

  1、带空格的路径记得要用引号括起来,这是cmd的强制要求;
  2、/ah-r 表示隐藏且非只读属性,请确认你想要的文件具备什么属性,如果想要对所有属性的文件都操作,请直接加 /a ,无需再在/a后带任何参数。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

后面的
%ALLUSERSPROFILE%\Application Data\mcache\*.*
需要用引号括起来,变成
"%ALLUSERSPROFILE%\Application Data\mcache\*.*"
因为路径当中有空格

TOP

我在后面加上 /ah-r 也提示系统找不到指定文件
  1. del /f /s /q /ah-r Application Data %ALLUSERSPROFILE%\Application Data\mcache\*.*
复制代码

TOP

  del 默认不能删除具有隐藏或系统属性的文件,使用 /a 参数可以删除所有属性的文件,加上 /f 可以强制删除。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

先看看del命令的帮助也许会有所启发。
C:\Test>del /?
删除一个或数个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一个或数个文件或目录列表。通配符可被用来
                删除多个文件。如果指定了一个目录,目录中的所
                有文件都会被删除。

  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            从所有子目录删除指定文件。
  /Q            安静模式。删除全局通配符时,不要求确认。
  /A            根据属性选择要删除的文件。
  attributes      R  只读文件                     S  系统文件
                  H  隐藏文件                     A  存档文件
                  -  表示“否”的前缀


如果命令扩展名被启用,DEL 和 ERASE 会如下改变:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表