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 2003 Server Batch mit Wochentag verbessern (Mon > Mo)

Mitglied: Andynix

Andynix (Level 1) - Jetzt verbinden

28.09.2006, aktualisiert 05.10.2006, 14639 Aufrufe, 7 Kommentare

engliche Wochenname in deutsche ändern

Morgen allerseits,
(schon 11:00 ! hatte noch keinen Kaffe also noch frühster Morgen)

Ich möchte meine Backup-Bach schlanker machen, d.h. die Umwandlung von englischen zur deutschen Wochentagen


for /F "tokens=1 delims= " %%A in ('now') do set wday=%%A
echo %wday%
IF %wday%==Mon SET wday=Mo
IF %wday%==Tue SET wday=Di
IF %wday%==Wed SET wday=Mi
IF %wday%==Thu SET wday=Do
IF %wday%==Fri SET wday=Fr
IF %wday%==Sat SET wday=Sa
IF %wday%==Sun SET wday=So
echo %wday%
robocopy.exe d:\Verwaltung\Untis \\pc-lieb\Backup\Untis\%wday% /MIR /NFL /NDL /LOG+:D:\Backup\Untis.log


Fragen:
1.) Das müsste doch irgendwie so anfangen ?
for /f "tokens=%1" %%A in ('echo/Mon Tue Wed Thu Fri Sat Sun') do set %2=%%a
2.) Wie kann man mindestens aus den IFs einen Einzeiler machen ?
Mitglied: Biber
28.09.2006 um 13:35 Uhr
Moin Andynix,

ist IMHO grundsätzlich der falsche Ansatz, aus einem Anzeigewert einen neuen Anzeigewert abzuleiten.
Wenn schon, dann werden numerische Werte "mehrsprachig" angezeigt.
Heißt, dass jeder anständige Coder bestenfalls die numerischen Werte für Wochentag (0-6 oder 1-7 oder wie sie je nach Werkzeug heißen) durch einen englischen, deutschen, spanischen oder sächsischen Text visualisiert.
Ich würde also den Wochentag als NumWert ermitteln - siehe im Bereich "Batch & Shell" das Tutorial "Umgang mit Datums- und Zeitvariablen im Batch".

Dennoch gibt es natürlich mehrere Varianten, wie ich Deine konkrete Anforderung mit ein oder zwei FOR-Anweisungen abfackeln könnte.
Eine davon (nachdem Dein %wday% als Variable gesetzt ist)
01.
::-----snipp wdays.bat
02.
@echo off & setlocal
03.
....
04.
:: Beispielwert "Thu" setzen
05.
set wDay=Thu
06.
for %%i in (Mon:Mo Tue:Di Wed:Mi Thu:Do Fri:Fr Sat:Sa Sun:So) do @for /f "tokens=1-2 delims=:" %%a in ("%%i") do if %%a==%wday% echo %wday%=%%b
Output wird sein:
01.
>wdays.bat
02.
Thu=Do
Works as designed...
...aber vorgehen würde ich so nicht, wenn es ein robuster und kompatibler Produktivbatch werden soll.

Gruß
Biber
Bitte warten ..
Mitglied: Andynix
28.09.2006 um 16:18 Uhr
for %%i in (Mon:Mo Tue:Di Wed:Mi Thu:Do Fri:Fr Sat:Sa Sun:So) do @for /f "tokens=1-2 delims=:" %%a in ("%%i") do if %%a==('now',0,3~) set wday=%%b


...vielen Dank Biber !
habe mir jetzt dies gabstelt. Für meien Zwecke perfekt, danke.
now - ist natürlich das Tool now.exe aus dem 2003 Server Ressource Kit Tools
Bitte warten ..
Mitglied: Biber
28.09.2006 um 18:24 Uhr
Na ja, Andynix,

eigentlich reicht dann auch ein Oneliner für das ganze Gelumpe..
Ich ziehe den mal aus ästhetischen Gründen auf ein paar Zeilen auseinander:
01.
:: -----------snipp DoTheDailyBackup.bat 
02.
@for /f %%t in ('now') do @(
03.
    for %%i in (Mon:Mo Tue:Di Wed:Mi Thu:Do Fri:Fr Sat:Sa Sun:So) do @(
04.
      for /f "tokens=1-2 delims=:" %%a in ("%%i") do @(
05.
        @if %%a==%%t @echo robocopy.exe d:\Verwaltung\Untis \\pc-lieb\Backup\Untis\%%b /MIR /NFL /NDL /LOG+:D:\Backup\Untis.log
06.
 )))
Output (er macht ja ein "@echo robocopy" statt wirklich "robocopy" auszuführen...)
01.
>doTheDailyBackup.bat
02.
robocopy.exe d:\Verwaltung\Untis \\pc-lieb\Backup\Untis\Do /MIR /NFL /NDL /LOG+:D:\Backup\Untis.log
Falls mal wieder ein Tankstellen-PC-Zeitschriften-Wettbewerb für "Die schönsten Batch-Oneliner" läuft, dann kannst Du den ja einschicken..

Grüße
Biber
P.S. Wenn Deine eigentliche Frage jetzt beantwortet ist, könntest Du bitte den Beitrag als "gelöst" abhaken. Danke.
Bitte warten ..
Mitglied: nachtgrabb
28.09.2006 um 22:42 Uhr
Probiers mal hiermit:

wotag.vbs
WoTag = Weekday(Date)

select case WoTag
case 1 WoTag="set ttag=So"
case 2 WoTag="set ttag=Mo"
case 3 WoTag="set ttag=Di"
case 4 WoTag="set ttag=Mi"
case 5 WoTag="set ttag=Do"
case 6 WoTag="set ttag=Fr"
case 7 WoTag="set ttag=Sa"
end select

Set ws = CreateObject("WScript.Shell")
MSGString = "cmd /C echo " & WoTag & " > c:\wotag.bat"
Ret = ws.run (MSGString,0,true)
WScript.Quit()
Bitte warten ..
Mitglied: Biber
29.09.2006 um 10:35 Uhr
Jepp, nachtgrabb,

so in der Art meinte ich das mit dem Ableiten des Wochentag-Textes aus dem numerischen Wochentagswert....

Falls Andynix ein deutschsprachiges W2003-Modell am Laufen hat, ginge es auch direkt über die VBS-WeekDayName-Funktion.

Basteln, aufrufen und entsorgen des erforderlichen VBS-Snippets aus der Batch heraus könnte dann so erfolgen:
01.
..
02.
Echo wscript.echo Left(WeekdayName(WeekDay(Date)),2)>%temp%\wday2snippet.vbs	
03.
For /f %%i in ('cscript //nologo %temp%\wday2snippet.vbs') do set "wday=%%i"
04.
del %temp%\wday2snippet.vbs
05.
:: in %wday% stehen jetzt die ersten 2 Zeichen vom Wochentag..heute also "Fr" vom "Freitag"
06.
...
Dein Code, nachtgrabb, ist natürlich viel lesbarer, keine Frage... aber AndyNix wollte ja genau diese CASE..-Konstrukte eindampfen.

Gruß
Biber
Bitte warten ..
Mitglied: Andynix
05.10.2006 um 00:09 Uhr
Vielen dank noch mal,
Der 'Oneliner' von Biber gefällt mir am besten !
Er erlaubt durch das weglassen von Wochentagen z.B. Sat:Sa Sun:So (im Script einfach löschen) Samstag, Sonntag kein Backup zu erstellen.

Bevor Fragen kommen:
1.) Ich weiss, der Taskplanner kann das auch
2.) Beim Homeverzeichniss aller User und begrenzter Festplattenkapazität macht das schon sinn
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail

Outlook 2016 Wochentag-Agenda Ausdruck Termine fehlen

gelöst Frage von PatrickStolzOutlook & Mail4 Kommentare

Hallo, ich habe einen seltsamen Fehler in Outlook 2016, ich denke es handelt sich hierbei um einen Software Bug. ...

Batch & Shell

Batch: Batch in batch in cfg schreiben

gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell

Batch - Variablen

gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Batch & Shell

Kopfschmerzen (Batch)

gelöst Frage von clragonBatch & Shell4 Kommentare

"" " Kann syntaktisch an dieser Stelle nicht verarbeitet werden Ich sterbe während die Flammen meiner Rage mich innerlich ...

Neue Wissensbeiträge
Windows Server
Anzahl von Gruppenrichtlinien
Erfahrungsbericht von Bullii vor 5 StundenWindows Server

Hallo, mich interessiert brennend, wieviele Gruppenrichtlinienobjekte, ihr so bei euch habt? Ich versuchte eigentlich immer die Gruppenrichtlinienobjekte soweit wie ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 20 StundeniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
Frage von frosch2Windows Netzwerk11 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Netzwerkmanagement
Ticketsystem für eine Kommune gesucht
gelöst Frage von akovisNetzwerkmanagement11 Kommentare

Ich suche aktuell ein Ticketsystem für eine Kleinstadt von 13000 Einwaohnern. Das System soll alle Anfragen aus verschiedenen Kanälen ...