
根據文件夾大小批量刪除的批處理運行出錯請幫忙看一下最后由 chaoyuang 于 -1-10 00:45目標:1、win7,徹底刪除D:a下所有小于10M的文件夾;2、清除后計算D盤的剩余容量是否大于E:a文件夾的大小(E:a文件夾大小基本在320GB);如果是復制E:a所有文件及文件夾到在D:a(同名也直接覆蓋,不要提示),復制完成后自動關機;如果容量不足,請提示“D盤容量不足,請清理”顯示時間10秒,然后自動關機。批處理:
運行出錯,不知錯哪兒請幫忙看看,這段代碼是huaqiaochy寫的。nclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- set/a size=1024*1024*10
- for /f delims= %%i in ('dir/ad/b d:a') do (
- set m=0,n=0
- for /f delims= %%a in ('dir /-c/w/s %%i') do (
- set /a n+=1
- echo %%a|findstr 所列文件總數 >nul &&set /a m=!n!&&set /a m=!m!+1
- if !n!==!m! for /f tokens=3 %%b in ('echo %%a') do if %%b lss !size! rd/s/q %%i))
- set m=0,n=0
- for /f delims= %%c in ('dir /-c/w/s e:a') do (
- set /a n+=1
- echo %%a|findstr 所列文件總數 >nul &&set /a m=!n!&&set /a m=!m!+1
- if !n!==!m! for /f tokens=3 %%d in ('echo %%c') do set easize=%%d)
- set m=0,n=0
- for /f delims= %%e in ('dir /-c/w d:') do (
- set /a n+=1
- echo %%a|findstr 所列文件總數 >nul &&set /a m=!n!&&set /a m=!m!+2
- if !n!==!m! for /f tokens=3 %%f in ('echo %%e') do set dssize=%%f)
- if !dssize! gtr !easize! (xcopy /e/h/i/q/y e:a d:a&&shutdown /f /s /t 3) else (
- echo D盤容量不足,請清理
- ping 127.1 -n 11 >nul
- shutdown /f /s /t 0)

