Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Per Batch das Date -1 rechnen

Frage Entwicklung Batch & Shell

Mitglied: ColdZero89

ColdZero89 (Level 1) - Jetzt verbinden

15.11.2012, aktualisiert 14:57 Uhr, 2228 Aufrufe, 3 Kommentare

Moin,

für die Überschrift is mir nichts bessere eingefallen.

Ich wollt mir für nen FTP Script nen String bauen der mir das aktuelle Datum ausgibt und den Tag - 1 Rechnet.

Mein Script sieht so aus:

01.
@echo on 
02.
 
03.
FOR /f "tokens=1-3 delims=. " %%G IN ('date /t') DO set /a Z=%%G-1 
04.
FOR /f "tokens=1-3 delims=. " %%J IN ('date /t') DO set datestring=%%L_%%K_%Z% 
05.
 
06.
echo %datestring% 
07.
pause
Das funktioniert soweit wunderhübsch und schön, alles in einer Forschleife lief nicht so schön, da wollte er mir Z nicht berechnen.

Meine erste Frage ist nun, wo lag mein Fehler?

Vorher sah es so aus:
01.
FOR /f "tokens=1-3 delims=. " %%G IN ('date /t') DO ( 
02.
 
03.
set /a Z=%%G-1 
04.
set datestring=%%I_%%H_%Z% 
05.
06.
 
07.
echo %datestring% 
08.
pause
Und meine zweite: Gibt es einen eleganteren Weg als die Lösung die von mir nun Funktioniert?
Ich mein Elegant an sich isses, es wird alles einzelnd berechnet, aber das muss doch auch in EINER schleife gehen oder nicht?

Gruß der Zero
Mitglied: Nr60730
15.11.2012, aktualisiert um 17:28 Uhr
moin,

die erste Zeile im ersten Script sieht ja schon mal sehr gut aus

Nur stelle ich mir grad die Frage - was passiert am Monatsersten?

  • entweder das Datum um 23.58 abfragen und einen Tag später benutzen...
  • oder einen 3zeiler mit nem vbs verwursten

01.
echo on 
02.
echo Wscript.Echo Date() - 1>%temp%\yesterday.vbs 
03.
for /f "tokens=1-3 delims=." %%a in ('cscript /nologo %temp%\yesterday.vbs') do echo %%a_%%b_%%c
Bitte warten ..
Mitglied: ColdZero89
16.11.2012, aktualisiert um 15:06 Uhr
Moin,

daran hab ich nun überhaupt nicht gedacht....

Wenn ich richtig sehe hast du nur eine Zeile VBS, schiebst diese in die yesterday.vbs

Nur was passiert in der Schleife?

Ah ich seh grad Date -1 gar nicht gesehen.

Gut heißt zweite For-Schleife durch das kleine VBS Gewurste ersetzen, ich danke dir.

Gruß Zero

EDIT: Beim ausführen deines Scriptes gibt es einen VBS Syntaxfehler. Zwischen Date() und dem -1 darf kein Leerzeichen sein sonst gibts mecker ^-^

Aber ich danke dir. geht sauber.
Juckt mich dennoch wie das in Batch so funktionieren würd.

Thema is damit aber Gelöst - sogar einen Unwissenden Fehler gleich mit behoben.
Bitte warten ..
Mitglied: bastla
16.11.2012 um 16:49 Uhr
Hallo ColdZero89!
Juckt mich dennoch wie das in Batch so funktionieren würd.
Zur Abschreckung : Morgiges Datum in Batchdatei bestimmen ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Windows 10 Batch für Datum und Uhrzeit setzen (18)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(39)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

SAN, NAS, DAS
+100tb Storagelösung (13)

Frage von Data-Fabi zum Thema SAN, NAS, DAS ...

LAN, WAN, Wireless
Cisco W-Lan Controller als Applicance oder Software (11)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

DNS
gelöst Komplette TLD Überschreiben bzw eigene Definieren (10)

Frage von Herbrich19 zum Thema DNS ...