Habe ein Problem mit der CMD Variale date
Hallo ich habe ein Skript das soweit gut laüft jedoch gibt der Befehl in Robocopy nicht das Datum für den Ordner raus sondern nur einen Ordner mit %date%.
Hier der teil vom Skript:
'robocopy aufrufen
robo = "robocopy /move ""R:\Mein Buero Backup"" ""R:\Mein Buero Backup\%date%"""
wshshell.run robo,0,true
Vielleich kann mir jemand helfen !
Vielen Dank
Hier der teil vom Skript:
'robocopy aufrufen
robo = "robocopy /move ""R:\Mein Buero Backup"" ""R:\Mein Buero Backup\%date%"""
wshshell.run robo,0,true
Vielleich kann mir jemand helfen !
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 99471
Url: https://administrator.de/forum/habe-ein-problem-mit-der-cmd-variale-date-99471.html
Ausgedruckt am: 05.02.2025 um 12:02 Uhr
11 Kommentare
Neuester Kommentar
Moin OliverBecht,
Du kannst in VB-whatever keine Shell-Umgebungsvariablen direkt (also als %var%) ansprechen,
sondern mussu über die vorgesehenen Schnittstellen-Methoden holen.
Wobei Du natürlich über Now oder date genau das gleiche in der Hand hast.... nur schneller halt.
Grüße
Biber
Du kannst in VB-whatever keine Shell-Umgebungsvariablen direkt (also als %var%) ansprechen,
sondern mussu über die vorgesehenen Schnittstellen-Methoden holen.
Set oShell = CreateObject( "WScript.Shell" )
envdate=oShell.ExpandEnvironmentStrings("%date%")
....
WScript.Echo 'datum %date%' & " " & envdate
Wobei Du natürlich über Now oder date genau das gleiche in der Hand hast.... nur schneller halt.
Grüße
Biber
Moin
Nein bist du nicht.
funktioniert nicht (mit %USERNAME% hingegen schon.
Also entweder probierst Du es So
oder so
Gruß L.
Nein bist du nicht.
oShell.ExpandEnvironmentStrings("%date%")
Also entweder probierst Du es So
...
'robocopy aufrufen
robo = "robocopy /move ""R:\Mein Buero Backup"" ""R:\Mein Buero Backup\""" & Date()
wshshell.run robo,0,true
...
...
'robocopy aufrufen
robo = "robocopy /move ""R:\Mein Buero Backup"" ""R:\Mein Buero Backup\"""
wshshell.run robo%date%,0,true
...
Gruß L.
Moin Moin
Das must Du wohl anlegen. Etweder nit dem Batchbefehl MD oder via FileSystemObject und createfolder.
Gruß L.
Variante 2 geht gar nicht da kommt eine Fehlermeldung das irgend was nicht stimmt
Da nimmst Du wohl besser Variante 1Muss ich was mit dem Quelltext oShell.ExpandEnvironmentStrings("%date%") machen ?
Löschen.Variante 1 geht zwar, es wird jedoch kein Ordner erstellt.
Robocopy erwartet wohl das das Zielverz. bereits existiert.Das must Du wohl anlegen. Etweder nit dem Batchbefehl MD oder via FileSystemObject und createfolder.
Gruß L.
Auf diese Weise ist die 'Umgebungsvariable' %date% nicht erreichbar, weil als 'Befehslinterpreter' nicht die normale Eingabeaufforderung (DOS-Box) verwendet wird, sondern "Wscript.Shell".
'Eigentlich' sollte man das einzufügende Datum im Skript ermitteln, ähnlich wie in http://dieseyer.de/scr-html/datensicherung.html (die Prozedur "Function Datumverzeichnis ( ZielVerz )" )
Oder (man startet nicht robocopy, sondern) man lässt robocopy in der Eingabeaufforderung laufen:
Mit "%comspec% /k" bleibt die Eingabeaufforderung offen und man sieht, was passiert ist - man muss sie von Hand schließen; mit "%comspec% /c" verschwindet sie von alleine.
'Eigentlich' sollte man das einzufügende Datum im Skript ermitteln, ähnlich wie in http://dieseyer.de/scr-html/datensicherung.html (die Prozedur "Function Datumverzeichnis ( ZielVerz )" )
Oder (man startet nicht robocopy, sondern) man lässt robocopy in der Eingabeaufforderung laufen:
"%comspec% /c robocopy /move ""R:\Mein Buero Backup"" ""R:\Mein Buero Backup\%date%"""
Mit "%comspec% /k" bleibt die Eingabeaufforderung offen und man sieht, was passiert ist - man muss sie von Hand schließen; mit "%comspec% /c" verschwindet sie von alleine.
Moin Moin
Das Freut mich.
Es wäre dennoch nett wenn Du die genaue Lösung posten würdest (für alle anderen mit ähnlichen Problemem).
Un sei doch so gut und setze den beitrag auf erledigt.
Danke & Gruß L.
Das Freut mich.
Es wäre dennoch nett wenn Du die genaue Lösung posten würdest (für alle anderen mit ähnlichen Problemem).
Un sei doch so gut und setze den beitrag auf erledigt.
Danke & Gruß L.