同じコードを何度も書くことほど無駄なことはない。 …と、思ったので、よく使うものをまとめて残しておきます。 (気が向いたら更新しているかもしれません…)
起動された場所をカレントディレクトリとして cmd.exe を実行する
@echo off cd /d "%~dp0" cmd.exe
Java, Python, Ant の環境変数を追加する
rem Java set PATH=%PATH%;C:\Program Files (x86)\Java\jre7\bin set PATH=%PATH%;C:\Program Files\Java\jre7\bin rem Python set PATH=%PATH%;C:\Python27 rem Ant
日付、時間を取得する
@echo off rem 日付を取得 set DATE_STR=%date:~-10,4%%date:~-5,2%%date:~-2,2% rem 時刻を取得 set TMP_TIME=%time: =0% set TIME_STR=%TMP_TIME:~0,2%%TMP_TIME:~3,2%%TMP_TIME:~6,2% rem echo %date% => 2014/05/21 rem echo %DATE_STR% => 20140521 rem echo %time% => 00:06:11.46 rem echo %TIME_STR% => 000611
テキストファイルから変数を取得する
rem 読み込むファイル
set FILE_PATH=.\list.txt
rem 2行スキップして読み込み開始する
for /f "SKIP=2 TOKENS=1,2" %%a in (%FILE_PATH%) do (
rem 行毎の処理を記述。カラムの値は %%a, %%b, ... で取得。
set COL_01=%%a
set COL_02=%%b
rem ループ内で set した値は !xxxx! で参照。
echo !COL_01!
)
指定したフォルダの下にあるバッチを再帰的に実行する
@echo off
rem 読み込むフォルダ
set TARGET_DIR=C:\test
rem フォルダ内のバッチファイルを名前順に実行
for %%X in ("%TARGET_DIR%\*.bat") do (
call "%%~fX"
)
指定したフォルダの下にあるフォルダ&ファイルを再帰的に削除する
@echo off
rem 削除先フォルダ
set TARGET_DIR=D:\log
rem 警告を表示せず、配下のファイルを削除
del "%TARGET_DIR%" /f /s /q
rem 警告を表示せず、配下のフォルダを削除
cd /d "%TARGET_DIR%"
for /d %%a in (*) do (
rmdir /s /q "%%a"
)
ファイル出力先のフォルダを確認、なければ作成する
rem フォルダの存在を確認したいパス
set FILE_PATH=D:\log\test.log
rem パスを確認して、フォルダが存在しなければ作成
call :CHECK_FOLDER_EXIST %FILE_PATH%
goto :END
rem パスの確認、作成の実処理
:CHECK_FOLDER_EXIST
if not exist "%~dp1" (
mkdir "%~dp1"
)
goto :EOF
:END
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!