古之成大事者,不唯有超世之才,亦唯有堅韌不拔之志也!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            3 隨筆 :: 44 文章 :: 1 評論 :: 0 Trackbacks
          特別需要注意的是賦值中間不能有空格如set TmpFile=tmp.ini
          該批處理腳本的作用是查找日期大于等于lastUploadDir.ini配置文件所寫日期的 6位日期的文件夾如
          080526等,然后把這些目錄所有文件打成zip包如080526.zip 然后ftp到目的服務器,回寫
          lastUploadDir.ini
          為最大上送日期,刪除本地目錄所有zip文件


          @echo off
          @echo -----------------處理開始%date%%time%
          setlocal ENABLEDELAYEDEXPANSION
          set TmpFile
          =tmp.ini
          set /p ini
          =<lastUploadDir.ini
          set /a datesub
          =0
          set PosDir
          =D:\CallCenter\Server\Pos\
          rem 獲取當前日期
          ::set nowdate
          =%date:~0,4%%date:~5,2%%date:~8,2%
          ::set tempDate
          =%nowdate%
          call :DATESUB %datesub% DN
          set nowdate
          =%DN%
          set tempDate
          =%DN%
          @echo %tempDate%
          :FindDir
             set /a datesub
          =%datesub% +1

             set nowDir
          =%PosDir%%tempDate:~2,6%

             if exist 
          "%nowDir%" (
               @echo  目錄存在%nowDir% 
               @echo     --開始壓縮%nowDir%  %date%%time%
               rar a -inul %nowDir%.zip %nowDir% 
               @echo     --壓縮完成%nowDir% %date%%time%
             ) else (
               @echo  目錄不存在%nowDir% 
               goto :FindDirError
             )
             
             if 
          "%tempDate%" GTR "%ini%" (
                call :DATESUB %datesub% DN
                set tempDate
          =!DN!
                goto :FindDir
             )
             
            
          :FindDirSucess
             ::所有目錄成功
          ,把日期寫入ini文件
             >
          "%TmpFile%" echo %nowdate%
             move /y 
          "%~dp0%TmpFile%" lastUploadDir.ini
           
          :FindDirError

          @echo 開始上傳所有zip文件 %date%%time%
          ftp -v -n -s:ftpconfig.ini 
          200.200.200.2 
          @echo 開始上傳所有zip文件 %date%%time%

          @echo 開始刪除本地所有zip文件 %date%%time%
          del %PosDir%*.zip 
          @echo 結束刪除本地所有zip文件 %date%%time%

          endlocal
          @echo ----------------------處理完成 %date%%time%
          GOTO :EOF








          :DATESUB
          ::日期相減函數
          ::格式 call :DATESUB 需要減的天數 接收結果的變量
          ::%
          1 =>_tian
          ::%
          2 =>receive
          ::取n天之前的日期.set _tian
          =n下面這句中的n代表天數.
          set 
          "_tian=%1"
          >tmptmp.vbs echo wscript.echo dateadd(
          "d",-%_tian%,date)
          for /f 
          "tokens=1,2,3* delims=-" %%i in ('cscript /nologo tmptmp.vbs') do (
          set 
          "y=%%i"&set "m=%%j"&set "d=%%k"
          )
          if %m% LSS 
          10 set "m=0%m%"
          if %d% LSS 
          10 set "d=0%d%"
          set 
          "%2=%y%%m%%d%"
          goto :EOF
          ::設定結果變量
          ,結束call調用


          posted on 2008-05-28 08:31 goto 閱讀(409) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 吴堡县| 松桃| 湾仔区| 瑞丽市| 龙泉市| 云林县| 宜章县| 镇赉县| 垦利县| 新乐市| 包头市| 铁力市| 额济纳旗| 文成县| 遂昌县| 东阿县| 方正县| 鄱阳县| 大冶市| 威海市| 浮梁县| 武强县| 苗栗市| 巫溪县| 忻城县| 奉化市| 乳源| 南岸区| 北安市| 剑阁县| 库伦旗| 镇平县| 大连市| 望城县| 甘德县| 抚顺市| 涪陵区| 宣汉县| 陆河县| 洪湖市| 奉新县|