WSH 本日更新されたファイルを別フォルダにコピー
WSHを利用したサンプルです。本日更新されたファイルを別フォルダにコピーします。実際に編集したい処理に変更して下さい。
Dim fromDir,toDir
fromDir = "C:\work"
toDir = "C:\backup"
Dim objFSO
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Dim objBaseDir
Dim objFile
Dim updDate,sysDate,workDate
'システム日付を取得(yyyyMMdd)
sysDate = getDate(Now())
exeDir fromDir
'メイン処理
Sub exeDir(path)
Dim workDir
Dim objDir
'サブフォルダの位置を取得
If path = fromDir Then
workDir = toDir + "\"
Else
workDir = toDir + "\" + Mid(path, Len(fromDir) + 2) + "\"
End If
'対象フォルダを処理
Set objBaseDir = objFSO.getFolder(path)
'ファイル一覧
for each objFile in objBaseDir.files
'更新日付を取得(yyyyMMdd)
updDate = getDate(objFile.datelastmodified)
'日付が同じ場合、指定フォルダにコピー
If updDate = sysDate Then
'フォルダ作成
mkdir workDir
'ファイルコピー
objFSO.CopyFile objFile.path, workDir, True
End If
next
'フォルダ一覧
for each objDir in objBaseDir.subFolders
'サブフォルダを処理
exeDir objDir.path
next
End Sub
'日付をyyyyMMdd形式に変換
Function getDate(date)
getDate= Year(date)
getDate= getDate & Right("0" & Month(date) , 2)
getDate= getDate & Right("0" & Day(date) , 2)
End Function
'親フォルダに遡ってフォルダ作成
Sub mkdir(path)
If Not objFSO.FolderExists(path) Then
mkdir objFSO.GetParentFolderName(path)
objFSO.CreateFolder path
End If
End Sub
Set objFSO = Nothing
wscript.echo "終了"
ページのトップへ戻る