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

[注册表类] 【已解决】批处理每次都需要指定目录怎么办?

本帖最后由 buyixuelang 于 2015-3-18 11:57 编辑
  1. for /f "delims=" %%i in ('dir /b/s "D:\Program Files\Tencent\QQ2015\Users\173797719\Image\*.*"') do del /s/q "%%i
复制代码
补充:希望大神帮我修改一下。希望能够显示下删除文件数,和删除的总容量,那些空文件夹也一并清除吧,谢谢了,补充晚了,谢谢大家!!

  1. @echo off
  2. set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
  3. cd /d "%FolderQQ%"
  4. for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
  5.     if exist "%FolderQQ%\%%i\Image\" (
  6.         del /f /q "%FolderQQ%\%%i\Image\*.*"
  7.     )
  8. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


findstr "[0-9]*$
这个命令是什么意思
为什么只有0-9却能找出 QQ号呢

TOP

回复 3# qw8334936


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

TOP

回复 1# buyixuelang

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

  1. @echo off
  2. set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
  3. cd /d "%FolderQQ%"
  4. set n=0
  5. for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
  6.     if exist "%FolderQQ%\%%i\Image\" (
  7.         del /f /q "%FolderQQ%\%%i\Image\*.*"
  8.         set /a n+=1
  9.     )
  10. )
  11. echo 清理了 %n% 个文件夹
  12. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher

谢谢伟大的管理员了,再次麻烦您帮我修改一下吧,希望能够显示删除文件数的情况下,还能够显示删除文件的总容量,另外删除之后剩下的空文件夹也一并删除了吧。大神,谢谢!

TOP

回复 7# buyixuelang
  1. @echo off
  2. set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
  3. cd /d "%FolderQQ%"
  4. set n=0
  5. for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
  6.     if exist "%FolderQQ%\%%i\Image\" (
  7.         del /f /q "%FolderQQ%\%%i\Image\*.*"
  8.         set /a n+=1
  9.         REM 你先试试这样删除空文件夹是否可行
  10.         rd /q "%FolderQQ%\%%i\Image"
  11.         rd /q "%FolderQQ%\%%i"
  12.     )
  13. )
  14. echo 清理了 %n% 个文件夹
  15. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


    大神管理员,谢谢您的帮助!测试了一下发现不能删除空文件夹。

TOP

回复 9# buyixuelang


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

TOP

回复 10# Batcher


    Imagel

TOP

回复 11# buyixuelang


第11行代码删掉
把空文件夹的路径交给第10行的rd命令
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 pcl_test 于 2015-3-17 22:39 编辑

回复 1# buyixuelang
借Batcher的代码小改下
  1. @echo off
  2. set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
  3. cd /d "%FolderQQ%"
  4. for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
  5. set n=0 & set s=0 & set m=0
  6. if exist "%FolderQQ%\%%i\Image\" pushd "%FolderQQ%\%%i\Image\"
  7. for /f "delims=" %%a in ('dir /a-d /b 2^>nul') do (
  8. del /f /q "%%a" && set /a n+=1 && set /a s+=%%~za
  9. )
  10. for /f "delims=" %%b in ('dir /ad /b 2^>nul') do (
  11. rem dir /a /b "%%b"|findstr .* >nul || (rd "%%b" /q 2>nul && set /a m+=1)
  12. if %%~zb == 0 (rd "%%b" /q 2>nul && set /a m+=1)
  13. )
  14. echo %%i
  15. setlocal enabledelayedexpansion
  16. echo 清理了!n!个文件,共计!s!字节
  17. echo 清理了!m!个空文件夹
  18. echo.
  19. endlocal
  20. popd
  21. )
  22. pause
复制代码

TOP

回复 13# pcl_test


能不能把字节改成MB,文件夹里还剩一个空文件夹。谢谢谢谢了。

TOP

回复 12# Batcher


    谢谢谢谢您了!

TOP

返回列表