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