• ベストアンサー

VBS 更新日が前日のファイルを全てコピーする

いつもお世話になっております。 タスクマネージャーを使用して、午前1時ぐらいに、更新日が前日のファイルを前日の日付になったフォルダにコピーしようと思ってます。 VBSで前日のフォルダを作成するは出来たのですが、更新日が前日の分だけコピーってどうやるの?で躓いております。ネットで調べたのですが、チンプンカンプンで焦っております。教えて頂けると助かります。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (453/623)
回答No.1

AIに頼んでできたものを少し手直ししました。 Dim objFSO, objFolder, objFile, strSourceFolder, strDestFolder, strDateStamp Dim dtYesterday, strDestDateFolder strSourceFolder = "C:\SourceFolder" ' コピー元のフォルダのパス strDestFolder = "C:\DestinationFolder" ' コピー先のフォルダのパス dtYesterday = Date() - 1 ' 前日の日付を取得 strDateStamp = Year(dtYesterday) & Right("0" & Month(dtYesterday), 2) & Right("0" & Day(dtYesterday), 2) Set objFSO = CreateObject("Scripting.FileSystemObject") ' コピー元フォルダ内のファイルをチェック Set objFolder = objFSO.GetFolder(strSourceFolder) For Each objFile In objFolder.Files ' ファイルの更新日が前日の場合はコピー If DateValue(objFile.DateLastModified) = dtYesterday Then ' 日付フォルダのパス strDestDateFolder = strDestFolder & "\" & strDateStamp ' 日付フォルダが存在しない場合は作成する If Not objFSO.FolderExists(strDestDateFolder) Then objFSO.CreateFolder strDestDateFolder End If ' ファイルをコピー objFile.Copy strDestDateFolder & "\" & objFile.Name End If Next ' Clean up Set objFSO = Nothing Set objFolder = Nothing Set objFile = Nothing

hidenori-world
質問者

お礼

ありがとうございました。

Powered by GRATICA

関連するQ&A

専門家に質問してみよう