Zum Inhalt springen

Datei umbenennen mit Windows Scripting Host


WolleXPC

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...