返回列表 发帖

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

本帖最后由 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
补充:希望大神帮我修改一下。希望能够显示下删除文件数,和删除的总容量,那些空文件夹也一并清除吧,谢谢了,补充晚了,谢谢大家!!

@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 (
    if exist "%FolderQQ%\%%i\Image\" (
        del /f /q "%FolderQQ%\%%i\Image\*.*"
    )
)COPY
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或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

@echo off
set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
cd /d "%FolderQQ%"
set n=0
for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
    if exist "%FolderQQ%\%%i\Image\" (
        del /f /q "%FolderQQ%\%%i\Image\*.*"
        set /a n+=1
    )
)
echo 清理了 %n% 个文件夹
pauseCOPY
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或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
@echo off
set "FolderQQ=D:\Program Files\Tencent\QQ2015\Users"
cd /d "%FolderQQ%"
set n=0
for /f "delims=" %%i in ('dir /b /ad ^| findstr "^[0-9]*$"') do (
    if exist "%FolderQQ%\%%i\Image\" (
        del /f /q "%FolderQQ%\%%i\Image\*.*"
        set /a n+=1
        REM 你先试试这样删除空文件夹是否可行
        rd /q "%FolderQQ%\%%i\Image"
        rd /q "%FolderQQ%\%%i"
    )
)
echo 清理了 %n% 个文件夹
pauseCOPY
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或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的代码小改下
@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
)
pauseCOPY

TOP

回复 13# pcl_test


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

TOP

回复 12# Batcher


    谢谢谢谢您了!

TOP

返回列表