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, 14624 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
Batch & Shell
Adresse verbessern
Frage von 3jojojoBatch & Shell9 Kommentare

Hallo Leute. Folgende Anweisungen benutze ich um in einer Datenbank Adressdaten zu verbessern Nun habe ich zusätzlich das Problem ...

SAN, NAS, DAS

Brainstorming: SAN Performance verbessern

Frage von ukulele-7SAN, NAS, DAS5 Kommentare

Situation: Wir haben eine HP P2000 G3 iSCSI als SAN Backend im Einsatz. Verbunden ist sie über 2 Controller ...

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

Netzwerkmanagement

Port Sicherheit verbessern Lancom Switch GS-23xx

gelöst Frage von HipstertownNetzwerkmanagement13 Kommentare

Hallo zusammen, nun bin ich auch endlich mal registriert hier. Ich würde gerne einen Lancom Switch etwas sicherer bzgl. ...

Neue Wissensbeiträge
Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 1 TagInternet9 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 4 TagenWindows 102 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 4 TagenVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 5 TagenErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Heiß diskutierte Inhalte
Windows Netzwerk
IP-Adresskonflikt
Frage von Turbo-MasterWindows Netzwerk24 Kommentare

Hallo zusammen, ich habe ein Problem mit unserem Netzwerk unter Windows Server. Ständig erhalten wir die Meldung, dass ein ...

Batch & Shell
Batch Datei für Dateinamen
gelöst Frage von Sabi75Batch & Shell19 Kommentare

Hallo zusammen, ich bräuchte mal eure Hilfe. Ich nutze einen Windows 7 PC und ein Apple Ipad wenn ich ...

LAN, WAN, Wireless
WLAN-Übersicht wie FritzWLAN jedoch für PC gesucht
gelöst Frage von HenereLAN, WAN, Wireless16 Kommentare

Servus, ich suche für einen Windows PC eine Anwendung die so ähnlich wie die FritzWLAN App auf dem Smartphone ...

Netzwerke
Netzwerkkommunikation von Windows 10 aus Freigabe mit Windows XP funktioniert nicht
gelöst Frage von KLinnebankNetzwerke14 Kommentare

Hallo werte Gemeinde, ja, es ist Freitag. Aber das ist KEINE Freitagsfrage Ich habe ein für mich völlig wirres ...