Windowsのコマンドプロンプトやバッチ内で文字列置換を簡単な記述で行う

Windowsのバッチ内などで、文字列の置換を行いたい場合があります。

よく使うのは、現在日付や時間を取得して、そのスラッシュ(/)などを置換し、「YYYYMMDD」形式の文字列にして、ファイル名などに利用するシーンでしょうか。

このような場合、%date%で取得した文字列の何番目から何番目を取って。。。という風に加工してもよいですが、文字列置換の方法を使うと記述がすっきりします。

文字列の置換は以下のような構文で可能です。

%[元の文字列]:[置き換え前の文字列]=[置き換え後の文字列]%

[置き換え前の文字列]をスラッシュ、[置き換え後の文字列]をにしておくと、

YYYY/MM/DD ⇒ YYYYMMDD

に変換することができますね。

@echo off

set dateStr=%date%
set timeStr=%time%

echo %dateStr%
echo %timeStr%

set formtDateStr=%dateStr:/=_%
set formtTimeStr=%timeStr::=%

echo %formtDateStr%
echo %formtTimeStr%

 

上記が、具体的な記述方法になります。
実行すると、

2013/08/14
12:20:39.54
2013_08_14
122039.54

 

のようになりますね。



こんな記事も関係あるかも。読んでみてね。

One Response to “Windowsのコマンドプロンプトやバッチ内で文字列置換を簡単な記述で行う”

  1. […] 文字列置換も出来ますので、それについては、以前の記事「Windowsのコマンドプロンプトやバッチ内で文字列置換を簡単な記述で行う」を参考にしてください。 […]

コメントを残す

サブコンテンツ

このページの先頭へ