Zum Inhalt springen

Datei umbenennen mit Windows Scripting Host


Empfohlene Beiträge

Geschrieben

Hallo

ich habe eine Frage zum Programmieren mit Windows Scripting Host.

Und zwar möchte ich eine Datei von einem Ordner in einen weiteren Ordner kopieren und die Datei beim neuerstellen umbenennen, was mir auch gelingt, mit folgendem Code:

Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.GetFile("C:\Datei\testfile.txt")

f1.copy ("c:\AutoSave\testdatei.txt")

Jetzt will ich aber, weil ich die Datei stündlich sichern will und dabei nicht überschrieben werden soll, die genaue Zeit und Datum in den Datei Namen schreiben. z.B.

"2006.12.01-12:00Uhr Testdatei.txt"

Eine Stunde danach soll wieder eine Kopie von der Stammdatei gemacht werden und in den anderen Ordner kopiert werden mit folgendem Namen:

"2006.12.01-13:00Uhr Testdatei.txt"

Wie mach ich das???

Vielen Dank schon mal.

Geschrieben

hi die lösung solte in etwa so ausehen.


Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.GetFile("C:\Datei\testfile.txt")

f1.copy ("c:\AutoSave\testdatei_"[COLOR="Red"]+Now[/COLOR]+".txt")

jedoch weiß ich grade nicht ob die string verkettung mit + funktioniert musst Grüße Wolf

Geschrieben

Also Danke schon mal für eure Antworten, es muss aber noch etwas feinschliff dran vorgenommenwerden.

Wenn ich den "Now" Code von LoneWolf benutze: Gibt die Konsole folgenden Fehlercode aus: Laufzeitfehler in MS VB Script:Typen unverträglich:

'[string: "C:\autosave\testdate"]'

Wenn ich es mit den zeichen "& Now &" versuche anstatt "+Now+" dann spuckt es folgende Fehlermeldung aus: Ungültiger Prozeduraufruf oder ungültiges Argument

Leider kann ich mit der Fehlerbeschreibung nichts anfangen. Es ist die Zeile wo das "Now" vorkommt.

Ich würde gerne das Datum vor dem Dateinamen einfügen. Wenn ich dies versuche [f1.copy ("c:\AutoSave\ " & Now & "testdatei.txt")] dann spuckt die Konsole wieder die Fehlermeldung "Ungültiger Prozeduraufruf oder ungültiges Argument" aus.

Ich bin mit meinem Wissen am Ende und weiß leider nicht wie ich das Problem lösen kann.

Ich hoffe ihr könnt mir noch mal helfen.

mfg Wolle

Geschrieben

So, das problem dabei ist, das Doppelpunkte in Dateinamen nicht erlaubt sind, sodass er dir dabei nen fehler anzeigt, weil diese funktion in der uhrzeit eben doppelpunkte einfügt.

auf die schnelle ist mir dazu nur folgendes eingefallen


Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.GetFile("E:\AccountStats.txt")

f1.Copy ("E:\AccountStats " + Replace(Now, ":", "_") + ".txt")

mit der replace-funktion werden dabei die doppelpunkte durch unterstriche ersetzt, aber es gibt bestimmt noch ne datumsformat-funktion oder ähnliches

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...