ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

VBSプログラミングコミュの●バックアップツールの作成 第3回

  • mixiチェック
  • このエントリーをはてなブックマークに追加
by loop_kaz
date 2006/5/2
ver 1.00

とりあえず、ソースを。

--- START ---------------------------------------------------------------

' by loop_kaz
' date 2006/4/8
' ver 1.00


'変数の宣言
'FileSystemObject
'丸ごとコピー

Dim FSO
'コピー元
Dim path_before
'コピー先
Dim path_after

path_before = "c:\test"
path_after = "d:\test"

'文字の置換により、日付の『/』、時間の『:』を削除
'VBSにはFORMAT関数が無いため。
path_after = path_after & "_" & Replace(Date(),"/","") & "_" & Replace(time(),":","")
'WScript.Echo path_after

'インスタンスを作成
Set FSO = CreateObject("Scripting.FileSystemObject")


'旧ファイル削除
If FSO.FolderExists(path_after) Then
FSO.DeleteFolder path_after,TRUE
FSO.CreateFolder path_after
Else
FSO.CreateFolder path_after
WScript.Echo path_after & " :新規フォルダ作成しました。"
End If


'フォルダコピー
FSO.CopyFolder path_before,path_after

'オブジェクト変数を開放する
set FSO = nothing




--- END ---------------------------------------------------------------

ファイル名は『case001-03.vbs』で、保存してください。



? はじめに

バックアップとなると、何日間分は置いておきたいと思います。
今までだと同じフォルダにしかコピーしませんでした。
ということで、コピー先のフォルダ名を動的に変えてしまおうというわけです。

特に、難しくはありません。
コピー先のフォルダ名を動的に変えるだけなのですから。

で、どうやって変えるかというと、

いくつか手はあるのですが、
とりあえず、今回は日付と時間をコピー元のフォルダ名の後につけたいと思います。


コピー元:c:\test
コピー先:c:\test_20060502_144354

のような…。


最初の方で日付と、時間の取得の方法は説明しました。
取得する時間をちょこっと、編集するのです。



? 関数の使用方法

今回は、Replace関数と言うものを使おうと思います。
Replace関数は対象のものを指定した値で置換するというものです。

例えば、
Replace(Date(),"/","")


Replace関数の第1引数にDate()を与えます。
これが、置換される対象になります。

さらに、第2引数に置換前の値を与えます。
"/"
最後に、第3引数に置換後の値を与えます。
""


? Date関数の説明

これはどういうことかというと、

Date関数で求められるものは日付です。
今でいうと、2006/05/02ですね。

これの"/"に対して、""ということは、
"/"を抜くということになるのです。

なので、20060502となります。



? Time関数について 

時間も同じ事で、

14:43:54という、time関数で時間を取得後、
":"を、抜くということをしています。

それを、"_"で、繋いでいるわけです。



? 結果

よって、c:\test_20060408_135510という、フォルダ名が求められるわけです。

Date、time関数は実行したときの日時を取得します。
よって、重複することはないのです。(※)




※取得する日時は、ローカルマシンの日時を取得します。
よって、使用しているコンピュータの日時をいじったり、
正常に設定されていない場合など、うまく動かない場合があります。




以上

コメント(0)

mixiユーザー
ログインしてコメントしよう!

VBSプログラミング 更新情報

VBSプログラミングのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。