[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 14# buyixuelang
修改相应地方的代码
  1. setlocal enabledelayedexpansion
  2. set /a s=!s!/1048576
  3. rem set /a s=!s!/1024,则是KB
  4. echo 清理了!n!个文件,共计!s!MB
  5. echo 清理了!m!个空文件夹
  6. echo.
  7. endlocal
复制代码
至于没有删掉Group,是因为里面还有其他文件夹,代码所谓的空文件是指里面既没有文件也没有文件夹,所以Group对代码而言就不算空文件夹

TOP

回复 12# Batcher


    @echo off
set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
cd /d "%FolderQQ%"
for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
set n=0 & set s=0 & set m=0
if exist "%FolderQQ%\%%i\Image\" pushd "%FolderQQ%\%%i\Image\"
for /f "delims=" %%a in ('dir /a-d /b 2^>nul') do (
del /f /q "%%a" && set /a n+=1 && set /a s+=%%~za
)
for /f "delims=" %%b in ('dir /ad /b 2^>nul') do (
rem dir /a /b "%%b"|findstr .* >nul || (rd "%%b" /q 2>nul && set /a m+=1)
if %%~zb == 0 (rd "%%b" /q 2>nul && set /a m+=1)
)
echo %%i
setlocal enabledelayedexpansion
echo 清理了!n!个文件,共计!s!字节
echo 清理了!m!个空文件夹
echo.
endlocal
popd
)
pause




这个能不能把字节改成MB?还有就是有一个空文件夹没删除

TOP

回复 16# pcl_test


    直接用这个覆盖吗?

TOP

回复 16# pcl_test


    不如你直接修改一下

TOP

回复 19# buyixuelang

改哪里还看不出吗?

TOP

回复 20# pcl_test


    @echo off
set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
cd /d "%FolderQQ%"
for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
set n=0 & set s=0 & set m=0
if exist "%FolderQQ%\%%i\Image\" pushd "%FolderQQ%\%%i\Image\"
for /f "delims=" %%a in ('dir /a-d /b 2^>nul') do (
del /f /q "%%a" && set /a n+=1 && set /a s+=%%~za
)
for /f "delims=" %%b in ('dir /ad /b 2^>nul') do (
rem dir /a /b "%%b"|findstr .* >nul || (rd "%%b" /q 2>nul && set /a m+=1)
if %%~zb == 0 (rd "%%b" /q 2>nul && set /a m+=1)
)
echo %%i
setlocal enabledelayedexpansion
set /a s=!s!/1048576
rem set /a s=!s!/1024,则是KB
echo 清理了!n!个文件,共计!s!MB
echo 清理了!m!个空文件夹
echo.
endlocal




?、、、、、、?对吗

TOP

本帖最后由 pcl_test 于 2015-3-18 00:40 编辑

回复 21# buyixuelang

嗯,这样显示就是MB了,后面还有三行代码要补全,Group文件夹没有删除的原因,16楼有说明

TOP

回复 22# pcl_test


    这样什么也没跑出来

TOP

回复 23# buyixuelang
22楼不是说了你缺三行代码没补全吗

TOP

回复 23# buyixuelang
改哪里,哪里没改,要弄清,没改的代码就要补全

TOP

回复 25# pcl_test


    你能不能直接给我弄一下,麻烦你了!谢谢您

TOP

本帖最后由 pcl_test 于 2015-3-18 06:20 编辑

回复 26# buyixuelang
  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. setlocal enabledelayedexpansion
  11. for /f "delims=" %%b in ('dir /ad /b 2^>nul') do (
  12. set t=0
  13. for /f "delims=" %%c in ('dir /a-d /s /b "%%b\" 2^>nul') do set /a t+=1
  14. if !t! == 0 (rd "%%b" /s /q && set /a m+=1)
  15. )
  16. echo %%i
  17. if !s! lss 1024 set "z=字节"
  18. if !s! geq 1024 if !s! lss 1048576 (set /a s=!s!/1024 & set "z= KB")
  19. if !s! geq 1048576 (set /a s=!s!/1048576 & set "z= MB")
  20. echo 清理了!n!个文件,共计!s!!z!
  21. echo 清理了!m!个空文件夹
  22. echo.
  23. endlocal
  24. popd
  25. )
  26. pause
复制代码

TOP

回复 27# pcl_test


运行了一下,感觉还是KB,是不是文件太小了,多大才显示MB?
第二个问题是,为什么还有一个group文件夹没有删除掉,而且里面有文件,是可以手动删除的,按说应该里面的文件被删除,然后文件夹自然就成了空的,之后自然也就被当成空文件夹删除才对。
再次麻烦您了!

TOP

回复 27# pcl_test


    for /f "delims=" %%i in ('dir /b/s "D:\Program Files\Tencent\QQ2015\Users\173797719\Image\*.*"') do del /s/q "%%i"

曾经这个能把group的文件删掉。

TOP

回复 28# buyixuelang
1、文件太小,自己找些大于1M的文件放进去检测
2、Group没被清空,怎么能算空文件夹呢?所以当然删不了

TOP

返回列表