
批處理如何提取特定日期文件進行壓縮
請教上面代碼我172.15.1.2上面F盤sqlbak文件夾中很多個子文件夾,這些子文件夾每天會生成一個文件,我現在運行批處理就會反sqlbak所有文件都壓縮到j:241bak文的夾中以日期為名字命名而我要的效果如果今天是8月23日就可提取8月22日的文件進行壓縮,命名也是以0822.rar為名字,而不是這個文件夾中所有文件,請教在俠們該如何更改。nclick="copycode($('code0'));">復制代碼
- @echo off
- set day=%date%
- set days=0
- setlocal enabledelayedexpansion
- :: 提取日期
- for /f tokens=1-3 delims=-/. %%i in (%day%) do (
- set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
- )
- set /a sd-=1
- if %sd% leq 0 call :count
- set sm=0%sm%
- set sd=0%sd%
- set od=%sy%%sm:~-2%%sd:~-2%
- goto rar
- :count
- set /a sm-=1
- if !sm! equ 0 set /a sm=12, sy-=1
- call :days
- set /a sd+=days
- if %sd% leq 0 goto count
- goto :eof
- :days
- :: 獲取指定月份的總天數
- set /a leap=^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)
- set /a max=28+leap
- for /f tokens=%sm% %%i in (31 %max% 31 30 31 30 31 31 30 31 30 31) do set days=%%i
- goto :eof
- :rar
- echo %od%
- net use 172.15.1.2ipc$ /user:administrator (abc)
- rar a-r J:241bak%od%.rar 172.15.1.2f$sqlbak

