返回列表 发帖

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

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

回复 35# buyixuelang
没问题就结贴吧

TOP

回复 34# pcl_test


    好的

TOP

回复 33# buyixuelang
32楼的是完整代码,没有加不加的问题,你一直把我往错误的方向去引导,耗时耗力,你要的那些显示也是没有什么作用,所以没必要增添多余代码影响效率

TOP

回复 32# pcl_test


    加到哪里?这样其他的功能不就没有了吗,来个完整的呗!谢谢您

TOP

本帖最后由 pcl_test 于 2015-3-18 11:48 编辑

回复 31# buyixuelang
@echo off
set "FolderQQ=H:\Program Files\Tencent\QQ2015\Users"
cd /d "%FolderQQ%"
for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
if exist "%FolderQQ%\%%i\Image\" (rd /s /q "%FolderQQ%\%%i\Image\" && md "%FolderQQ%\%%i\Image\")
)
pauseCOPY

TOP

回复 30# pcl_test


    可是为什么没有清空这个文件夹下的文件?其他的都清了,然后就变成空文件夹,自然也就清了,可是怎么连里面的文件也没有清掉?
然后新建一个文件夹进去,文件删了,空文件夹却保留下来了

TOP

回复 28# buyixuelang
1、文件太小,自己找些大于1M的文件放进去检测
2、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

回复 27# pcl_test


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

TOP

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

回复 26# buyixuelang
@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
)
setlocal enabledelayedexpansion
for /f "delims=" %%b in ('dir /ad /b 2^>nul') do (
set t=0
for /f "delims=" %%c in ('dir /a-d /s /b "%%b\" 2^>nul') do set /a t+=1
if !t! == 0 (rd "%%b" /s /q && set /a m+=1)
)
echo %%i
if !s! lss 1024 set "z=字节"
if !s! geq 1024 if !s! lss 1048576 (set /a s=!s!/1024 & set "z= KB")
if !s! geq 1048576 (set /a s=!s!/1048576 & set "z= MB")
echo 清理了!n!个文件,共计!s!!z!
echo 清理了!m!个空文件夹
echo.
endlocal
popd
)
pauseCOPY

TOP

回复 25# pcl_test


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

TOP

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

TOP

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

TOP

回复 22# pcl_test


    这样什么也没跑出来

TOP

返回列表