找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 127824|回复: 35

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

[复制链接]
发表于 2015-3-17 00:00:22 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码
补充:希望大神帮我修改一下。希望能够显示下删除文件数,和删除的总容量,那些空文件夹也一并清除吧,谢谢了,补充晚了,谢谢大家!!
发表于 2015-3-17 09:00:26 | 显示全部楼层
  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. )
复制代码
发表于 2015-3-17 09:57:49 | 显示全部楼层
回复 2# Batcher


findstr "[0-9]*$
这个命令是什么意思
为什么只有0-9却能找出 QQ号呢
发表于 2015-3-17 10:18:40 | 显示全部楼层
回复 3# qw8334936


参考:
http://bbs.bathome.net/thread-24-1-1.html
发表于 2015-3-17 12:57:14 | 显示全部楼层
回复 1# buyixuelang

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
发表于 2015-3-17 13:37:42 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2015-3-17 17:53:50 | 显示全部楼层
回复 2# Batcher

谢谢伟大的管理员了,再次麻烦您帮我修改一下吧,希望能够显示删除文件数的情况下,还能够显示删除文件的总容量,另外删除之后剩下的空文件夹也一并删除了吧。大神,谢谢!
发表于 2015-3-17 18:18:11 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2015-3-17 19:27:39 | 显示全部楼层
回复 8# Batcher


    大神管理员,谢谢您的帮助!测试了一下发现不能删除空文件夹。
发表于 2015-3-17 19:38:27 | 显示全部楼层
回复 9# buyixuelang


    请告诉我哪个是空文件夹
 楼主| 发表于 2015-3-17 19:48:05 | 显示全部楼层
回复 10# Batcher


    Imagel
发表于 2015-3-17 20:59:13 | 显示全部楼层
回复 11# buyixuelang


第11行代码删掉
把空文件夹的路径交给第10行的rd命令
发表于 2015-3-17 22:37:56 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2015-3-17 22:57:37 | 显示全部楼层
回复 13# pcl_test


能不能把字节改成MB,文件夹里还剩一个空文件夹。谢谢谢谢了。
 楼主| 发表于 2015-3-17 22:58:24 | 显示全部楼层
回复 12# Batcher


    谢谢谢谢您了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 14:18 , Processed in 0.011379 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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