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

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            3 隨筆 :: 44 文章 :: 1 評(píng)論 :: 0 Trackbacks
          特別需要注意的是賦值中間不能有空格如set TmpFile=tmp.ini
          該批處理腳本的作用是查找日期大于等于lastUploadDir.ini配置文件所寫日期的 6位日期的文件夾如
          080526等,然后把這些目錄所有文件打成zip包如080526.zip 然后ftp到目的服務(wù)器,回寫
          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 獲取當(dāng)前日期
          ::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     --開始?jí)嚎s%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 結(jié)束刪除本地所有zip文件 %date%%time%

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








          :DATESUB
          ::日期相減函數(shù)
          ::格式 call :DATESUB 需要減的天數(shù) 接收結(jié)果的變量
          ::%
          1 =>_tian
          ::%
          2 =>receive
          ::取n天之前的日期.set _tian
          =n下面這句中的n代表天數(shù).
          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
          ::設(shè)定結(jié)果變量
          ,結(jié)束call調(diào)用


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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 卢氏县| 沙湾县| 留坝县| 奉新县| 五台县| 鄂州市| 呼图壁县| 嘉黎县| 张家口市| 宁国市| 济阳县| 常山县| 阿拉善左旗| 南溪县| 襄城县| 遂川县| 扶余县| 常山县| 屯门区| 凤庆县| 利津县| 无锡市| 中西区| 仲巴县| 衡南县| 保亭| 郴州市| 宁波市| 平远县| 根河市| 高唐县| 庆阳市| 烟台市| 东平县| 阳春市| 黎平县| 尼玛县| 谢通门县| 会泽县| 兴业县| 思茅市|