Home New Help Edit

バッチファイル(BAT)


2008年3月22日
Suns & Moon Laboratory

日付でバックアップ

set dt=%date% set dtstr=%dt:~-10,4%%dt:~-5,2%%dt:~-2,2% set fname=cad_backup_%dtstr%.7z md %dtstr% cd %dtstr% 7za a %fname% E:\home\users\ECAD\s_mon\PA272W

変数

set ver=101 echo %ver%
とかすると以下の表示
101

EXIST

@echo off REM REM REM IF EXIST FLD1 GOTO EXITS_FLD1 IF NOT EXIST FLD1 GOTO NOT_EXITS_FLD1 ECHO ここに来る事は、ほぼありえない。 EXIT /b :EXITS_FLD1 ECHO found FLD1 EXIT /b :NOT_EXITS_FLD1 ECHO not found FLD1 EXIT /b

演算

@echo off set /a ans=%1-1 echo %ans%

forでファイル処理

引数から
for /F %%i in (%1) do ( @echo %%i )
dirで列挙
for /F %%i in ('dir /b *.jpg') do ( @echo %%i )

forで時間待ち

@echo off @echo wait sometime for /L %%A in (30,-1,0) do ( ping localhost -n 2 > null @echo %%A )

起動時ネットワークドライブ再接続

ドライブとか、サーバーとか、password,usernameは任意に設定する。

@echo off REM ======================================================== REM ネットワークドライブ接続 REM ======================================================== REM REM 起動時50秒待つ REM @echo wait 50sec for /L %%A in (50,-1,0) do ( ping localhost -n 2 > null @echo %%A ) REM REM 接続のループ REM 接続に失敗した場合、10秒待ってから再度接続を行う REM :TRY_CONNECT @echo try connect REM 10秒待つ for /L %%A in (10,-1,0) do ( ping localhost -n 2 > null @echo %%A ) REM 接続 @echo connect E: drive net use E: \\server\path password /USER:username /PERSISTENT:NO REM 既に接続済みの場合は終了する if ERRORLEVEL 2 goto END REM エラーの場合はループ() if ERRORLEVEL 1 goto TRY_CONNECT :END

7zipを使う


準備

pathを通しておく
C:\Program Files\7-Zip

圧縮

拡張子をzipにすれば、zipで圧縮してくれる。
7z a test.7z *

解凍

7z x test.7z

Word,Excelを比較


xdoc2txtを使う

バッチファイルはこんな風に
@echo off xdoc2txt %1 > %1.xdoc2txt.tmp xdoc2txt %2 > %2.xdoc2txt.tmp diff %1.xdoc2txt.tmp %2.xdoc2txt.tmp del %1.xdoc2txt.tmp del %2.xdoc2txt.tmp

シンボリックリンク

C:\Program Files (x86)\EAGLE-5.11.0>mklink /d projects c:\usr\test\projects
参考:Windows Vista/Windows Server 2008でシンボリック・リンクを作成する − @IT

DIR

隠しファイル等も表示する
dir /a
サブディレクトリも表示する
dir /s

便利なコマンド(別途インストール必要)

テキストファイルの文字列置換や行削除 sed覚え書き
sed s/検索/置換/g filename

テキストファイルを行単位に分割
split --lines=NUMBER filename

Home New Help Edit
2013-11-14 16:55:23 32400