LoginSignup
1
1

More than 5 years have passed since last update.

ダンプファイルのExport時にファイル名に日付時刻をつける

Last updated at Posted at 2015-04-17

ダンプファイルのExport時にファイル名に自動で日付時刻をつけたいとき

今回はYYYYMMDD_TEST_hhmmss.DMPという名称のDMPを取得する想定です。

まず日付

環境変数dateから数字を取得する。

コマンドプロンプト上でdate変数の値を取得してみる。

C:\>echo %date%
2015/04/16

上記の通りdate変数はスラッシュを含め10文字であるので、取得方法は下記のように取得できる。

YYYY:date変数の最後尾から10文字より4文字分
MM:date変数の最後尾から5文字より2文字分
DD:date変数の最後尾から2文字より2文字分

また、変数Aの最後尾よりm文字目からn文字分値を取得するには

%V:~-m,n%

と書く。

つまり、日付をYYYYMMDDの形式で取り出す場合、

%date:~-10,4%%date:~-5,2%%date:~-2,2%

と書けば良い。

次に時刻

今度はtime変数から数字を取得する。

コマンドプロンプト上でtime変数から値を取得してみる。

C:\>echo %time%
16:21:14.10

time変数はdate変数と違い、注意が必要である。

1時~9時までの場合、先頭文字に半角スペースが入ってしまう。

そこで、一旦time変数の先頭文字を0埋めして一時変数に置き換えてから値を取得することにする。

C:\>set time2=%time: =0%

time2変数からの取り出し方は下記の通り。

hh:time2変数の先頭文字より2文字分
mm:time2変数の先頭から3文字目より2文字分
ss:time2変数の先頭から6文字より2文字分

また、変数Aの先頭よりm文字目からn文字分値を取得するには

%V:~m,n%

と書く。

つまり、時刻をhhmmssの形式で取り出す場合、

%time2:~0,2%%time2:~3,2%%time2:~6,2%

※前から位置を指定しているので、位置は0はじまり。

と書けば良い。

やっとダンプファイルのExport

下準備が整ったので、DMPのExportを行う。
YYYYMMDD_TEST_hhmmss.dmpというファイル名のDMPのExport文は下記の通り。

C:\> exp hoge/fuga@hogefugadb file=%date:~-10,4%%date:~-5,2%%date:~-2,2%_TEST_%time2:~0,2%%time2:~3,2%%time2:~6,2%.dmp

※Exportされたダンプファイル名は20150417_TEST_201050.dmpのような名称になる。

(´-`).oO(DatapumpのExport方法はおいおい…)

1
1
0

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
1
1