0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バッチ処理を実行して、出力したファイルの名前に今日の日付を付けたい

Posted at

概要

バッチ処理を実行した日付を、出力したファイル名に付与する際の記述方法になります。
普段からWindowsサーバの管理で定期的にルーティング情報を取得しているのですが
サーバごとに取得する日が異なり、都度コマンドを実行するのも面倒なので、
バッチファイルを予め準備しておき、作業効率化を図っています。
纏まっている構文が上手く見つけられなかったので、自身の備忘録も兼ねて記事化しました。

構文例

@echo off

echo %date%

set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

ipconfig /all > %yyyy%%mm%%dd%_battest.log
route print > %yyyy%%mm%%dd%_battest.log

pause

構文解説

@echo off

echo %date%
⇒最初に今日の日付を表示する
 出力結果:2025/01/27

set yyyy=%date:~0,4%
⇒「yyyy」の変数を用意し、その中に先頭から4文字分が格納される
 出力結果「2025/01/27」の「2025」が変数「yyyy」へ格納される

set mm=%date:~5,2%
⇒「mm」の変数を用意し、その中に先頭より6文字目から2文字分が格納される
 出力結果「2025/01/27」の「01」が変数「mm」へ格納される
 ※出力結果に「/」が含まれている為、6文字目からのカウントとなる

set dd=%date:~8,2%
⇒「dd」の変数を用意し、その中に先頭より8文字目から2文字分が格納される
  出力結果「2025/01/27」 の「27」が変数「dd」へ格納される
 ※出力結果に「/」が含まれている為、8文字目からのカウントとなる

ipconfig /all > %yyyy%%mm%%dd%_battest.log
route print > %yyyy%%mm%%dd%_battest.log
⇒実行結果がファイルへ出力される
 %yyyy%の部分は「2025」
 %mm%の部分は「01」
 %dd%の部分は「27」
 なので、出力されるファイル名は「20250127_battest.log」となる。

pause
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?