同じコードを何度も書くことほど無駄なことはない。 …と、思ったので、よく使うものをまとめて残しておきます。 (気が向いたら更新しているかもしれません…)
起動された場所をカレントディレクトリとして 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 の フォロー」 お願いします!!