Board logo

标题: [文件操作] 批处理如何清空回收站 [打印本页]

作者: dnvplj    时间: 2014-12-23 18:12     标题: 批处理如何清空回收站

本帖最后由 dnvplj 于 2014-12-24 11:49 编辑

请问各位朋友,如何清空“回收入站”,网上找了很常时间,也没有找到可清空“回收站”的代码,特来论坛求助,该代码要适合WIN7和WINXP3,先谢谢了。
作者: yiwuyun    时间: 2014-12-23 19:29

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4.   if exist %%a:\$recycle.bin (
  5.      pushd %%a:\$recycle.bin
  6.      for /f %%b in ('dir /b /a') do (rd /s /q %%b)
  7.   )
  8. )
  9. pause
复制代码
试试
作者: dnvplj    时间: 2014-12-24 08:58

回复 2# yiwuyun
朋友您好,首先感谢你的回复,C盘能清空,其他盘只能清空“文件夹”,“文件”清空不了。别外还有一个问题,清空回收站后能否刷新一下“回收站”的图标。
作者: pcl_test    时间: 2014-12-27 23:18

本帖最后由 pcl_test 于 2014-12-27 23:24 编辑

回复 1# dnvplj
  1. @echo off
  2. ::清空Win7/Win8回收站
  3. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4. if exist %%a:\ (
  5. del /f /s /q "%%a:\$recycle.bin\*.*" >nul 2>nul
  6. )
  7. )
  8. ::清空XP回收站
  9. del /f /s /q "%systemdrive%\recycled\*.*" >nul 2>nul
  10. echo 清空回收站完成!
  11. pause
复制代码


作者: dnvplj    时间: 2014-12-28 08:42

回复 4# pcl_test
清空了,但有一个问题,回收站图标里还显示有垃圾,实际以清空了,我的意思是:能否刷新一下回收站的图标。
作者: pcl_test    时间: 2014-12-28 13:56

本帖最后由 pcl_test 于 2017-6-6 18:45 编辑

回复 5# dnvplj
  1. /*&cls
  2. @echo off
  3. set "netpath=%systemroot%\Microsoft.NET\Framework"
  4. for /f "delims=" %%a in ('dir /ad /b "%netpath%\v?.*"') do (
  5.     if exist "%netpath%\%%a\csc.exe" (
  6.         set "cscpath=%netpath%\%%a\csc.exe"
  7.         goto :0
  8.     )
  9. )
  10. echo;未安装.Net Framework 2.0及其上版本组件或相关程序丢失&pause&exit
  11. :0
  12. "%cscpath%" /nologo /out:"%tmp%\$EmptyRecycle.exe" "%~f0"
  13. "%tmp%\$EmptyRecycle.exe"
  14. pause&exit
  15. */
  16. using System;
  17. using System.Runtime.InteropServices;
  18. class EmptyRecycle
  19. {
  20.     const int SHERB_NOCONFIRMATION = 0x000001;   //不显示确认删除的对话框
  21.     const int SHERB_NOPROGRESSUI = 0x000002;     //不显示删除过程的进度条
  22.     //const int SHERB_NOSOUND = 0x000004;     //当删除完成时,不播放声音
  23.     [DllImportAttribute("shell32.dll")]
  24.     private static extern int SHEmptyRecycleBin(IntPtr handle, string root, int falgs);
  25.     static void Main(string[] args)
  26.     {
  27.         SHEmptyRecycleBin(IntPtr.Zero, "", SHERB_NOCONFIRMATION|SHERB_NOPROGRESSUI);
  28.     }
  29. }
复制代码

作者: dnvplj    时间: 2014-12-28 13:58

回复 6# pcl_test
您这个是刷新桌吧,能刷新“图标”吗?
作者: pcl_test    时间: 2014-12-28 17:14

回复  pcl_test
您这个是刷新桌吧,能刷新“图标”吗?
dnvplj 发表于 2014-12-28 13:58

没有单独刷新一个图标的
作者: sktwojs    时间: 2015-9-28 14:57

回复 6# pcl_test


    请问这个批处理完成后,那个窗口不会自动消失,还要随便按一个键才会消失,怎么可以让CMD窗口自动消失?
作者: pcl_test    时间: 2015-9-28 15:03

回复 9# sktwojs

去掉pause
作者: sktwojs    时间: 2015-9-28 15:09

回复 10# pcl_test


    谢谢




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