Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Robocopy, Ordner erstellen mit Datum und Zeit, EDIT Auswertung von Ping

Mitglied: Teddyhamster2000

Teddyhamster2000 (Level 1) - Jetzt verbinden

02.01.2009, aktualisiert 03.01.2009, 26415 Aufrufe, 10 Kommentare

Hallo Forum,

ich bin dabei ein Batch-Script zu basteln, welches mir für Backups Ordner X nach Zeil Y kopiert und dem neuen Ordner dann noch das aktuelle Datum und die Zeit mitgibt.

Sieht aktuell so aus:

set datum=%date%
set zeit=%time%

robocopy "C:\Documents and Settings\%username%\Favorites" /MIR "\\Server\Share$\Backup\Backup.%datum%.%zeit%" /log+:\\Server\Share$\Backup\log.txt


Das ganze funktioniert leider nur mit dem aktuellen Datum.

Sieht also aktuell so aus: \\Server\Share$\Backup\Backup.Datum

Soll aber so aussehen: \\Server\Share$\Backup\Backup.Datum.Zeit

Ich habe schon alle möglichen Variationen ausporbiert. Ich verstehe einfach nicht, warum er die Zeit nicht "frisst". Zuerst dachte ich, dass es nicht geht, weil der Befehl "date" bzw. "time" ja eigentlich eine Eingabe erfordert. Da es mit dem Datum ja aber schon geht...

Vielleicht habt ihr eine Idee?

Danke & Gruß
Mitglied: bastla
02.01.2009 um 13:34 Uhr
Hallo Teddyhamster2000!

Da in der Zeitangabe Doppelpunkte enthalten sind, kann diese nicht als Bestandteil des Dateinamens verwendet werden ...

Wenn Du Datum- und Zeitstrings selbst zusammenbaust, kannst Du auch zB die Schreibweise "JJJJMMTT" für das Datum verwenden (was etwa das Sortieren leichter macht):
01.
set "datum=%date:~-4%%date:~-7,2%%date:~-10,2%" 
02.
set "zeit=%time:~0,2%%time:~3,2%%time:~6,2%"
Trennzeichen kannst Du je nach Wunsch noch ergänzen (jeweils zwischen die beiden aufeinander folgenden "%"-Zeichen setzen) ...

[Edit]
Da bei einstelligen Stundenzahlen in der Uhrzeit (also für Zeiten vor 10:00:00) ein (störendes) Leerzeichen am Anfang des Zeitstrings landet, folgende verbesserte Version:
01.
set "zeit=%time:~0,2%%time:~3,2%%time:~6,2%" 
02.
set "zeit=0%zeit: =%" 
03.
set "zeit=%zeit:~-6%"
Die Zeile 2 setzt vor den bisherigen Zeitstring noch eine Null und ersetzt dann alle enthaltenen Leerzeichen (kann eigentlich ohnehin nur jenes am Anfang sein) durch "Nichts" (entfernt also die Leerzeichen).

Die Zeile 3 nimmt von dem so behandelten String nur die letzten 6 Stellen (damit nicht auch vor zweistelligen Stundenzahlen noch die "0" steht); sollten noch Trennzeichen vor und nach der Minutenzahl verwendet werden, dann natürlich die letzten 8 Zeichen verwenden.
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Teddyhamster2000
02.01.2009 um 14:05 Uhr
Hallo bastla!

Danke für die Antwort! Hat wunderbar geklappt ;)

Was ich noch nicht verstehe, ist dass das Lofile immer überschrieben wird, obwohl ich /log+: verwendet habe...

Edit: War falsch was ich gesagt habe, er überschreibt es nicht, er ergänz das Logfile.

Thema ist also geklärt!
Bitte warten ..
Mitglied: Teddyhamster2000
03.01.2009 um 15:29 Uhr
EDIT: ###

Neues Problem:

Wollte in dem Script noch prüfen, ob der Server per Ping erreichbar ist. Als Vorbild habe ich mir das genommen:

https://www.administrator.de/Automatisierte_Sicherung_per_Robocopy_-_Die ...

Bie mir sieht das aktuell so aus:

.
.
ping %server% -n 1
echo errorlevel:%errorlevel%
if errorlevel==1 (goto C) else (goto D)
:C
net send %username% Stelle sicher, dass der Server erreichbar ist!
exit

:D
rem hier geht es weiter
.
.

Zum Testen habe ich einen Server genommen, der eingeschaltet ist. ErrorLevel ist also 0 -> Script funktioniert.
Bei einem anderen Server, der nicht eingeschaltet ist liefert der Ping eine "Zeitüberschreitung", und dennoch (?!) ErrorLevel 0 -> damit macht das Script trotzdem weiter (logischerweise)
ErrroLevel 1 bekomme ich aktuell nur hin, wenn ich einen Server nehme, den es nicht gibt, damit liefert Ping "unbekannter Host" und bringt ErrorLevel 1.

Muss ich das verstehen?
Bitte warten ..
Mitglied: bastla
03.01.2009 um 15:38 Uhr
Hallo Teddyhamster2000!

Versuch es mit der Schreibweise
if errorlevel 1 (net send %username% Stelle sicher, dass der Server erreichbar ist! & goto :eof)
Noch als Anmerkung: Unter W2000 wird der Errorlevel ev nicht ordnungsgemäß gesetzt ...

Grüße
bastla
Bitte warten ..
Mitglied: Teddyhamster2000
03.01.2009 um 15:42 Uhr
Danke, werde ich mal versuchen.

Aha, es ist Windows 2000 (zumindest ein w2k Client, auf dem ich das Script teste). Weißt du auch warum? Google erzählt nicht ganz so viel zu dem Thema.

Gruß

Edit: Problem wurde hier auch schon mal beschrieben:

https://www.administrator.de/DOS_Batch_Errorlevel_geht_unter_XP,_aber_ni ...

Ist offenbar ein gut gehüteter MS insider Witz...
Bitte warten ..
Mitglied: Teddyhamster2000
04.01.2009 um 23:47 Uhr
Zitat von bastla:
Hallo Teddyhamster2000!

Versuch es mit der Schreibweise
> if errorlevel 1 (net send %username% Stelle sicher, dass der Server 
> erreichbar ist! & goto :eof) 
> 
Noch als Anmerkung: Unter W2000 wird der Errorlevel ev nicht
ordnungsgemäß gesetzt ...

Grüße
bastla

Ich kam jetzt erst zum Testen. Dein Vorschlag funktioniert genau so wie meiner... Das ändern auch nichts, an dem ErrorLevel unter W2k für Ping...
Bitte warten ..
Mitglied: bastla
05.01.2009 um 11:49 Uhr
Hallo Teddyhamster2000!
Das ändern auch nichts, an dem ErrorLevel unter W2k für Ping...
... was anzunehmen, mir damals aber noch nicht bekannt war ...

Du kannst aber natürlich den Text der "ping"-Ausgabe auswerten, etwa:
ping %server% -n 1|findstr "Antwort" >nul || (net send %username% Stelle sicher, dass der Server erreichbar ist! & goto :eof)
Grüße
bastla
Bitte warten ..
Mitglied: Barney
29.04.2011 um 16:11 Uhr
sry, wenn ich diesen älteren Beitrag nochmal hervorhole. Ich habe aber teilweise Infos aus dem zitierten Code übernommen.

Ich setzte Win7 SP1 ein und möchte mit robocopy auf eine externe Festplatte sichern. Dazu habe ich als ersten Versuch folgendes Skript benutzt:

01.
 
02.
::        --------------------------- Variablen leeren --------------------------- 
03.
set Quelle= 
04.
set Ziel= 
05.
 
06.
::        -------------------------------- Variablen setzen --------------------------------- 
07.
 
08.
set "datum=%date:~-4%%date:~-7,2%%date:~-10,2%" 
09.
set "zeit=%time:~0,2%%time:~3,2%%time:~6,2%" 
10.
set "zeit=0%zeit: =%" 
11.
set "zeit=%zeit:~-6%" 
12.
set Quelle=C:\users\Uli\Desktop 
13.
set Ziel=E:\Backup\Schleppi\sicherung%datum%_%zeit% 
14.
 
15.
mkdir %Ziel% 
16.
 
17.
::        --------------------- Starten der Robocopy ---------------------- 
18.
@Echo off 
19.
robocopy.exe %Quelle% "%Ziel%" /MIR /MT:8  >> "e:\desktop.txt" 
20.
 
21.
pause
Die Sicherung klappt, jedoch wird der Ordner der Sicherung nicht wie vorgegeben benannt sonder quasi von der Quelle übernommen. Im Dateiexplorer wird er als "Desktop" ohne Zusatz von Datum und Zeit angezeigt. In der Konsole heißt er wie oben im Script vorgegeben. Sobald ich als Quelle einen anderen Ordner angebe, klappt alles zu 100%.

Hat jemand eine Idee?

Grüße
Bitte warten ..
Mitglied: bastla
29.04.2011 um 16:45 Uhr
Hallo Barney!

Sich hier "dranzuhängen" ist vermutlich nicht die allerbeste Idee - unter der Annahme, dass Du Teddyhamster2000 vermutlich nicht dazu animieren wirst, seinem letzten Login vom Dreikönigstag des Jahres 2009 ein aktuelles folgen zu lassen, könnten wir hier ziemlich unter uns bleiben ...

... wobei ich (abgesehen vom Entfernen der unnötigen Zeilen 2 bis 4 und 15 und einem Hinzufügen von "setlocal" sehr weit oben im Code) eigentlich nur einen spontanen Einfall hätte: Setze auch "%Quelle%" in der Zeile 19 unter Anführungszeichen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
29.04.2011 um 17:37 Uhr
Moin Barney,

ergänzend zu bastlas Hinweisen nur ein weiterer: Bei einen Robocopy von "C:\users\DeinUsername" solltest du unter Win7 besser den Schalter /XJ zusätzlich verwenden.
Sonst hast du unter Umständen ein paar komische Seiteneffekte.

Anyway: Sollte das In-Anführungszeichen-Setzen der %Quelle% nichts helfen, dann mach bitte eigenen Beitrag auf.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Netzwerkprotokolle
Ping aus Auswertung
Frage von FreedomGirlNetzwerkprotokolle5 Kommentare

Aufgabe: Schicken Sie Pakete mit unterschiedlicher Länge zu diesem Ziel (10 relativ gleichmäßig verteilte Paketlängen zwischen 32 Byte und ...

Batch & Shell
Ping Test mit Auswertung
Frage von ArnieeBatch & Shell3 Kommentare

Hallo, Ich habe gestern angefangen Batch zu programmieren und bin noch ein Blutiger anfänger Also nun stehe ich vor ...

Batch & Shell
Datei mit Datum im Namen erstellen
gelöst Frage von pbelclBatch & Shell6 Kommentare

Ich habe mir ein kleines Batch geschrieben, das mir eine Date erstellt, die im Namen das Datum und die ...

Windows Server
Robocopy Ordner-Icons behalten
Frage von sebastian2608Windows Server5 Kommentare

Hallo Leute, heute habe ich mal eine etwas seltsame Frage Ich habe mir ein kleines Script geschrieben, welches mit ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 12 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 13 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 13 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
solved Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...