(vbs) MoveFile auf UNC Pfad klappt nicht
Ich versuche nach einem erstellten Backup (NTBackup) die erstellten Logfiles auf einen UNC Pfad umzuleiten.
Die dort erstellte Datei soll auch noch umbenannt werden (Datum.log)
Hallo
Ich versuche nach einem erstellten Backup (NTBackup) die erstellten Logfiles auf einen UNC Pfad umzuleiten.
Die dort erstellte Datei soll auch noch umbenannt werden (Datum.log)
Wenn ich die Datei nicht umbenenne, kein Problem, bis auf wenn die Datei mit gleichen Namen bereits vorhanden ist, was automatisch durch NTBackup der Fall ist.
Wenn ich aber die zu verschiebende Datei umbenenne, dann kommt Meldung -> Pfad kann nicht gefunden werden.
Irgendwie gibt es hier denke eventuell ein Problem mit den Slashes oder so,
hab aber x Varianten probiert, leider ohne Erfolg.
Über jeden Tip bin ich dankbar.
Grüße David
Die dort erstellte Datei soll auch noch umbenannt werden (Datum.log)
Hallo
Ich versuche nach einem erstellten Backup (NTBackup) die erstellten Logfiles auf einen UNC Pfad umzuleiten.
Die dort erstellte Datei soll auch noch umbenannt werden (Datum.log)
Wenn ich die Datei nicht umbenenne, kein Problem, bis auf wenn die Datei mit gleichen Namen bereits vorhanden ist, was automatisch durch NTBackup der Fall ist.
Wenn ich aber die zu verschiebende Datei umbenenne, dann kommt Meldung -> Pfad kann nicht gefunden werden.
Dim Sourcepath
Dim Destinationpath
Dim strDate
Dim Pfad
...
strDate = Year(Date()) & month(date()) & Day(Date())
set fso = CreateObject("SCRIPTING.FileSystemObject")
Pfad = "\\server\logfiles$\backuplogs\"
newfilename = strDate & ".log"
Sourcepath = "C:\Dokumente und Einstellungen\admin\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log"
Destinationpath = Pfad & newfilename
fso.MoveFile Sourcepath, Destinationpath
Irgendwie gibt es hier denke eventuell ein Problem mit den Slashes oder so,
hab aber x Varianten probiert, leider ohne Erfolg.
Über jeden Tip bin ich dankbar.
Grüße David
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 07.10.2009 um 20:51:16 Uhr
Wenn ich die Datei nicht umbenne, kein Problem
Set /a rgc+=1#623
Über jeden Tip bin ich dankbar.
Über richtige Verwendungen von Präpositionen würde ich mich auch freuen, wäre ich echt dankbar für. Content-ID: 126663
Url: https://administrator.de/contentid/126663
Ausgedruckt am: 25.11.2024 um 13:11 Uhr
10 Kommentare
Neuester Kommentar
Moin Davidaff,
VBS ist ja nicht gerade mein Fachgebiet, aber AFAIK darf zwar der SOURCE-Fileangabe Wildcards enthalten, nicht aber die Ziel-Dateiangabe
Dementsprechend wäre das dochBullshit eine mögliche Fehlerursache:
--> Muttu besser die *.log-Dateien im NTbackup-Dataordner einzeln anfassen.
Zum zweiten kann die fso.MoveFile-Methode (afaik) durchaus überschreiben.
Aber das ist hier eigentlich vollkommen gegenstandlos.
Grüße
Biber
VBS ist ja nicht gerade mein Fachgebiet, aber AFAIK darf zwar der SOURCE-Fileangabe Wildcards enthalten, nicht aber die Ziel-Dateiangabe
Dementsprechend wäre das doch
newfilename = strDate & ".log"
Sourcepath = "C:\Dokumente und Einstellungen\admin\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log"
Destinationpath = Pfad & newfilename
fso.MoveFile Sourcepath, Destinationpath
> Heißt doch aufgelöst: fso.MoveFile "C:\....NTBackup\data\*.log" , "\\whereever\...\" &strdate &".log"Sourcepath = "C:\Dokumente und Einstellungen\admin\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log"
Destinationpath = Pfad & newfilename
fso.MoveFile Sourcepath, Destinationpath
--> Muttu besser die *.log-Dateien im NTbackup-Dataordner einzeln anfassen.
Zum zweiten kann die fso.MoveFile-Methode (afaik) durchaus überschreiben.
Aber das ist hier eigentlich vollkommen gegenstandlos.
Grüße
Biber
Moin Davidaff,
wenn du diese von dir verwendete Suchmaschine, deren Name meine Lippen niemals verlassen wird, etwas verfeinert befragst und ich dir noch vorab verrate, dass rgc auch bekannt ist als mein persönlicher running gag counter, dann kommst du schnell dahinter:
Gib dich mal in die Suchmaschine deines Vertrauens ein:
Aber erst später.
Wichtiger ist doch, dass ein
Entweder
Grüße
Biber
wenn du diese von dir verwendete Suchmaschine, deren Name meine Lippen niemals verlassen wird, etwas verfeinert befragst und ich dir noch vorab verrate, dass rgc auch bekannt ist als mein persönlicher running gag counter, dann kommst du schnell dahinter:
Gib dich mal in die Suchmaschine deines Vertrauens ein:
running gag counter site:administrator.de
Aber erst später.
Wichtiger ist doch, dass ein
Move X:\Bla\Viele*.log \\Blubb\EineBestimmte.log
...nicht mal unter robusten Betriebssystemen funktionieren wird, warum also unter diesem Redmonder Stückwerk?Entweder
Move X:\Bla\Viele*.log \\Blubb\
-oder-FürAlle [i] In X:\Bla\Viele*.log
Move X:\Bla\Einzelne[i]Log \\Blubb\Einzelne[i].log
Move X:\Bla\Einzelne[i]Log \\Blubb\Einzelne[i].log
Grüße
Biber
Hallo Davidaff und Biber!
Wenn wir ausnahmsweise einmal MS glauben wollen, dann kann nicht verschoben werden, wenn
Grüße
bastla
Wenn wir ausnahmsweise einmal MS glauben wollen, dann kann nicht verschoben werden, wenn
- das Ziel eine existierende Datei ist (Überschreiben ist also nicht möglich) bzw
- die Quelle Wildcards enthält und das Ziel kein existierender Ordner ist.
Grüße
bastla
Hallo Davidaff!
Wenn Du ohnehin jede Datei anfasst, kannst Du das Verschieben auch direkt (jetzt treffen ja die beiden beschriebenen Einschränkungen nicht mehr zu) in der Schleife erledigen:
Etwas übersichtlicher wird's vielleicht noch, wenn alle Datums-/Zeitbestandteile auf eine fixe Länge gebracht werden, also etwa:
Grüße
bastla
P.S.: Für das Formatieren auf 2 Stellen mit führender Null würde sich natürlich eine
Wenn Du ohnehin jede Datei anfasst, kannst Du das Verschieben auch direkt (jetzt treffen ja die beiden beschriebenen Einschränkungen nicht mehr zu) in der Schleife erledigen:
Sourcepath = "C:\Dokumente und Einstellungen\admin\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\"
Destinationpath = "\\server\logfiles$\backuplogs\"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each File In fso.Getfolder(Sourcepath).Files
VarFileName = Year(File.DateLastModified) & "-" & Month(File.DateLastModified) & "-" & Day(File.DateLastModified) & " "
VarFileName = varFileName & Hour(File.DateLastModified) & "." & Minute(File.DateLastModified) & "." & Second(File.DateLastModified) & Right(File.Name, 4)
File.Move Destinationpath & VarFileName
Next
Sourcepath = "C:\Dokumente und Einstellungen\admin\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\"
Destinationpath = "\\server\logfiles$\backuplogs\"
Set fso = CreateObject("Scripting.FileSystemObject")
For Each File In fso.Getfolder(Sourcepath).Files
Timestamp = File.DateLastModified
VarFileName = Year(Timestamp) & "-" & _
Right("0" & Month(Timestamp), 2) & "-" & _
Right("0" & Day(Timestamp), 2) & " " & _
Right("0" & Hour(Timestamp), 2) & "." & _
Right("0" & Minute(Timestamp), 2) & "." & _
Right("0" & Second(Timestamp), 2) & _
Right(File.Name, 4)
File.Move Destinationpath & VarFileName
Next
bastla
P.S.: Für das Formatieren auf 2 Stellen mit führender Null würde sich natürlich eine
Function
anbieten, aber ich wollte das Ganze kompakt halten ...