Windwos(TOP>WindowsBat)

・リダイレクト cmd > redirectfile 2>&1

・REM コメント 行の先頭からだけ。行の途中からは効かない。

set コマンド 文字列操作


setコマンド 文字列操作

REM logファイル名を XXXXyyyymmdd_hhmmss.logにする

@echo off

REM "logファイル名を XXXXyyyymmdd_hhmmss.logにする"
REM ファイル名(XXXX)をセット
set xxxx="XXXX"
set xxxx="YYYY"
REM date(2019/07/07) → 20190707
set dd=%date:~0,4%%date:~5,2%%date:~8,2%
REM timeの" "を0に置換(0パディング)
set time2=%time: =0%
REM time2(12:34:56) → 123456
set tt=%time2:~0,2%%time2:~3,2%%time2:~6,2%
REM log
set log=%xxxx%%dd%_%tt%.log
echo %log%

REM ----------------------------------------
REM for文の中でlogファイル名を変化させる
REM には、setlocal EnableDelayedEXPANSION が必要
REM 加えて、変数は% から !に変更(=環境遅延変数を使用)する
REM ----------------------------------------

setlocal enableDelayedExpansion

for %%i in (1 2 3) do (
REM ZZZZにはならない。変数xxxxは%を使っているため、環境遅延変数ではないから。
set xxxx="ZZZZ"
set time2=!time: =0!
set tt=!time2:~0,2!!time2:~3,2!!time2:~6,2!
set log=%xxxx%%dd%_!tt!.log
echo !log!

REM 1秒待つ。時間変化がわかるように。
timeout /t 1 > nul
)
endlocal

echo "-------- complete---------- ----------------------"
echo このDos窓を閉じるには何かキーを押してください。
pause > NUL
exit

 


XXX

C:\Windows\system32>

XXX

H:\test2\in>
inserted by FC2 system