Avatar billede FewCastle Praktikant
15. januar 2013 - 11:54 Der 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.

Håber der en dos-fan derude.
Avatar billede Blandy Praktikant
15. januar 2013 - 12:00 #1
Avatar billede MSchlamovitz Mester
15. januar 2013 - 14:38 #2
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

End Sub
Avatar billede FewCastle Praktikant
15. januar 2013 - 14:41 #3
Tak for svar, men jeg skal have det kørende i en bat.fil således, jeg kan lave et scheduled task.
Er du mand for det?
Avatar billede MSchlamovitz Mester
15. januar 2013 - 15:09 #4
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

End Sub
Avatar billede FewCastle Praktikant
15. januar 2013 - 15:14 #5
Okay, men nu har jeg ikke office pakken installeret på min sql-server ;-)
desværre, så jeg gør det lige lidt besværligt
Avatar billede sth Novice
15. januar 2013 - 15:19 #6
jeg ville nok lave det i vbs, prøv at spørge der
Avatar billede FewCastle Praktikant
15. januar 2013 - 15:21 #7
Super...jeg prøver det, men tak for dine svar.
Avatar billede arne_v Ekspert
16. januar 2013 - 03:29 #8
VBS eller hvis lidt nyere server saa Windows PowerShell!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester