※バージョンアップしました。
- IPMSG のログファイルをバックアップした後、空にします。
- 色々調べてみたけど、OS に依存しない形で日付をフォーマットする方法は見つからなかった。
- かといってVB で書くと移植性悪いしなぁ。
- Windows 標準圧縮は cab (キャビネット方式)らしい。
- ログファイルのサイズが 0 だったらバックアップしない。というのを実装するために、ショートカットでログファイルを引数指定する羽目に。
- バッチって結局自前のスクリプトとか実行ファイルをつなげてつなげてつなげてつなげて。
@echo off
setlocal
REM
REM
REM20080703
REM
REM
REM1
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM1
REM2
REM3
REM
REM
REM
REM%backupdir%
REM
REM%backupfile_name%
REM
REM
REM
REM
REM
REM20080703104523
REM
REM
REM
SET backupdir=%HOME%\backup
SET backupfile_name=ipmsg.log
REM
REM
REM
REM
if not exist "%1" goto logfileerror
if not exist "%backupdir%\*" goto backupdirerror
if %~z1 == 0 goto end
SET logdate=%date:/=%
SET logdate=%logdate:-=%
SET logtime=%time: =0%
SET logtime=%logtime::=%
SET logtime=%logtime:~0,6%
SET backupfile=%backupdir%\%backupfile_name%.%logdate%%logtime%.cab
echo makecab %1 "%backupfile%"
makecab %1 "%backupfile%"
type nul >%1
goto end
:logfileerror
echo ログファイルが見つかりません。
pause
goto end
:backupdirerror
echo バックアップディレクトリが見つかりません。
pause
goto end
:end
endlocal