builder4242
Goto Top

Unterschied robocopy BATCH auf 2003 und 2008 - Was ist hier Faul?

Hallo,


ich versuche verzweifelt mein neues Sicherungsbatch zum laufen zu bringen.

@echo off & setlocal

REM Sicherung des Servers DC01 am %DATE% um %TIME% gestartet

for /f "tokens=3" %%i in ('robocopy /?^|find "Started"') do (  
    IF "%%i" == "Mon" set "woTag=Montag"  
    IF "%%i" == "Tue" set "woTag=Dienstag"  
    IF "%%i" == "Wed" set "woTag=Mittwoch"  
    IF "%%i" == "Thu" set "woTag=Donnerstag"  
    IF "%%i" == "Fri" set "woTag=Freitag"  
    IF "%%i" == "Sat" set "woTag=Samstag"  
    IF "%%i" == "Sun" set "woTag=Sonntag"  
)

echo Heute ist %woTag%

REM robocopy gestartet...

::robocopy C:\ b:\dc01\%woTag%\C\ /MIR /PURGE
::robocopy D:\backup\546TANK\ \\10.10.1.204\backup\dc01\%woTag%\D\ /MIR /PURGE

REM Sicherung am %DATE% um %TIME beendet.

Auf dem Windows Server 2003 funktioniert es ohne Probleme, auf dem 2008 wandelt er den Wochentag nicht um.

Ich habe schon einen merkwürdigen Unterschied festgestellt, und zwar suche ich auf dem 2003 nach "Startet" und auf dem 2008 nach Gestartet.
Entsprechend lautet auch die Ausgabe:
"Started : Wed Jun 02 12:04:57 2010" oder " Gestartet: Wed Jun 02 12:05:53 2010":

Was habe ich im Batch übersehen?


Danke schonmal im Vorraus

Content-Key: 144051

Url: https://administrator.de/contentid/144051

Printed on: April 19, 2024 at 08:04 o'clock

Member: TuXHunt3R
TuXHunt3R Jun 02, 2010 at 10:36:14 (UTC)
Goto Top
Hallo

Eventuell ein Sprachproblem. Laufen die zwei Server mit unterschiedlichen Sprachen?

Gruss
TuXHunT3R
Member: builder4242
builder4242 Jun 02, 2010 at 10:41:12 (UTC)
Goto Top
Nein, alles Deutsch wie gesagt, beim 2003 ist es komischerweise startet und auf 2008 gestartet?
Member: Snowman25
Snowman25 Jun 02, 2010 at 10:56:45 (UTC)
Goto Top
Hallo @builder4242,

Zitat von @builder4242:
for /f "tokens=3" %%i in ('robocopy /?^|find "Started"') do (
"Started : Wed Jun 02 12:04:57 2010" oder " Gestartet: Wed Jun 02 12:05:53 2010":

und jetzt schau dir nochmal genau die Unterschiede an!

mach lieber
for /F "tokens=3" %%i in ('robocopy /?|find /I "start"') do (

Gruß
Snow
Member: builder4242
builder4242 Jun 02, 2010 at 11:02:14 (UTC)
Goto Top
ja, funktioniert aber auf dem 2008 trotzdem nicht, ich hab auf dem 2008 ja schon Gestartet stehen gehabt
Member: bastla
bastla Jun 02, 2010 at 12:03:15 (UTC)
Goto Top
... und wenn Du "tokens=2" verwendest?

Grüße
bastla
Member: builder4242
builder4242 Jun 02, 2010 at 12:14:32 (UTC)
Goto Top
Danke, das warsface-smile

Was bedeutet der Token?
Member: bastla
bastla Jun 02, 2010 at 13:34:34 (UTC)
Goto Top
Hallo builder 4242!

Damit legst Du fest, welche Teile des Textes Du verwenden willst. Da Leerzeichen (und TAB) Standardtrennzeichen sind (ansonsten kannst Du das Trennzeichen mit "delims" festlegen), wird durch Deine "for /f"-Schleife der Text "Gestartet: Wed Jun 02 12:05:53 2010" in die Teile
Gestartet:
Wed
Jun
02
12:05:53
2010
zerlegt - davon willst Du den Teil Nr 2 ...

Grüße
bastla
Member: Snowman25
Snowman25 Jun 02, 2010 at 13:44:45 (UTC)
Goto Top
jetzt wird aber die englische Version wieder nicht funktionieren. Hier ist der 2. Teil ein :
Member: builder4242
builder4242 Jun 02, 2010 at 15:23:27 (UTC)
Goto Top
doch jetzt funktioniert es

aber wie kann ich es als Tasks täglich ausführen lassen?
Member: Snowman25
Snowman25 Jun 02, 2010 at 15:27:05 (UTC)
Goto Top
da würden sich taskplaner oder at-Befehl anbieten
Member: builder4242
builder4242 Jun 02, 2010 at 15:49:18 (UTC)
Goto Top
welches tool nutz ihr um mails per batch zu verschicken?
Member: Snowman25
Snowman25 Jun 02, 2010 at 15:57:02 (UTC)
Goto Top
blat.exe
Ein Kommentar muss mehr als 30 Zeichen enthalten! Bitte geben Sie einen aussagefähigen Kommentar ein.
Member: bastla
bastla Jun 03, 2010 at 08:05:41 (UTC)
Goto Top
@Snowman25
jetzt wird aber die englische Version wieder nicht funktionieren.
Den heutigen Wochentag in der aktuellen BS-Sprache solltest Du jedenfalls so erhalten:
@echo off & setlocal
set G=%temp%\GetWeekdayName.vbs
>%G% echo WScript.Echo WeekdayName(Weekday(Date))

for /f %%i in ('cscript //nologo %G%') do set "WoTag=%%i"  
echo %woTag%
Für die (auf 2 Zeichen abgekürzte) Schreibweise:
>%G% echo WScript.Echo WeekdayName(Weekday(Date),1)
Grüße
bastla