15. januar 2013 - 11:54Der er
7 kommentarer og 1 løsning
Dos-spørgsmål
Jeg skal have kopieret en mappe fra en server til en anden server. Det er der nu ikke så mange ben i. Men den skal kun kopiere filer fra dags dato. Og samtidig skal den slette de filer som ligger før dags dato.
Prøv følgende i et VBA modul i Word, Excel eller Access:
Sub FlytNogleFiler() Dim A As String, FromPath As String, ToPath As String Dim FilDate As Date
FromPath = "J:\EnEllerAndenMappe\" ToPath = "K:\enEllerAndenMappe\" A = Dir(FromPath & "*.*") Do While A <> "" FilDate = FileDateTime(FromPath & A) If FilDate < Date Then Kill FromPath & A Else FileCopy FromPath & A, ToPath & A End If A = Dir() Loop
Er vokset op med DOS, så jeg har lavet mange .bat filer, men det med datoerne er kompliceret. Men når det skal køre som som sceduled task kunne du gøre følgende:
Gem nedenstående kode (som er næsten magen til ovenstående) i et Excelarks This_Workbook / Denne_Projektmappe modul.
Du sætter din scedule til at åbne regnearket når det passer dig. Koden kører automatisk, når filen åbnes - og regnearket lukker automatisk når koden er eksekveret.
Private Sub Workbook_Open()
Dim A As String, FromPath As String, ToPath As String Dim FilDate As Date
FromPath = "J:\EnEllerAndenMappe\" ToPath = "K:\enEllerAndenMappe\" A = Dir(FromPath & "*.*") Do While A <> "" FilDate = FileDateTime(FromPath & A) If FilDate < Date Then Kill FromPath & A Else FileCopy FromPath & A, ToPath & A End If A = Dir() Loop Application.Quit
VBS eller hvis lidt nyere server saa Windows PowerShell!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.