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, 2219 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 Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
Batch als Dienst bei Systemstart ohne Anmeldung ausführen (3)

Tipp von tralveller zum Thema Batch & Shell ...

Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...