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, 2206 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (8)

Frage von DerFurrer zum Thema Windows Installation ...

Windows Server
Probleme mit Client Software Zugriff auf Windows Server 2012 (8)

Frage von it-kolli zum Thema Windows Server ...