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, 2214 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...