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

Datum ab Startdatum um einen Tag erhöhen

Frage Entwicklung Batch & Shell

Mitglied: trixy19

trixy19 (Level 1) - Jetzt verbinden

02.07.2008, aktualisiert 03.07.2008, 4794 Aufrufe, 6 Kommentare

Hallöchen,

ich habe ein kleines Problem was mich langsam verzweifeln lässt.
Ich möchte ab einem Startdatum in der Form PDATUM=20080201 Batch
ein Probramm laufen lassen und nach dem durchlauf den Tag um einen Tag erhöhen.
Bei Tag 31 soll sich der Monat erhöhen und bei Monat 12 auch das Jahr.

Das Programm was abläuft bearbeitet Dateien die z.B. so abgespeichert sind: C:\FOTO\20080201\

Hat jemand eine Idee, wie ich das automatisieren kann?

Wenn ich das mit Schleifen probiere, verschwinden die führenden Nullen, wenn ich die Variable hochzähle und da hört es bei mir irgendwie auf...

Danke und viele Grüße von Bea.
Mitglied: Biber
02.07.2008 um 18:22 Uhr
Moin trixy19,

willkommen im Forum.
Hier gibt es auch einige ältere und langsamere User... so wie mich zum Beispiel- denen Du bitte noch mal langsam erklären/bestätigen musst:

  • dieses Startdatum ist eine jeweils von Dir manuell festgelegte Variable ?
  • oder eine aus einem Datei/Ordner-Erstellungsdatum abzuleitende?
  • oder was genau passiert bei "einem Durchlauf"? Soll einfach nur nach dem Durchlauf eine Ausgabe erscheinen "Startdatum 20080201 - neues Datum 20080202"? Oder werden Dateien damit umbenannt oder in Ordner wegsortiert...?

Grüße
Biber
Bitte warten ..
Mitglied: bastla
02.07.2008 um 18:39 Uhr
Hallo trixy19 und willkommen auch von mir!

Unabhängig davon, wo und wie Du das neue Datum einzusetzen gedenkst, würde es sich etwa so ermitteln lassen:
01.
@echo off & setlocal 
02.
Set M=%temp%\Morgen.vbs 
03.
echo D=WScript.Arguments(0):N=DateAdd("d",1,DateSerial(Left(D,4),Mid(D,5,2),Right(D,2))):WScript.Echo Right(N,4)^&Mid(N,4,2)^&Left(N,2)>%M% 
04.
:: 
05.
:: Was halt so zu tun ist ... 
06.
:: 
07.
set "PDATUM=20080101" 
08.
:: 
09.
:: Neues Datum ermitteln 
10.
:: 
11.
for /f %%i in ('cscript //nologo %M% %PDATUM%') do set "PDATUM=%%i" 
12.
echo Datum jetzt: %PDATUM% 
13.
::
Durch Verwendung der Zeile 11 erhältst Du jeweils das Datum des nächsten Tages. Wie Du es dann verwenden kannst, wäre noch aufgrund Deiner Antworten zu Bibers Fragen zu klären.

Grüße
bastla
Bitte warten ..
Mitglied: trixy19
02.07.2008 um 18:41 Uhr
Hallo Biber,

also das Startdatum ist von mir festgelegt bzw. von den Dateiordnern die gespeichert wurden.
Das fängt irgendwann 2006 an mit den Ordnern und es ist fast täglich ein Ordner erstellt.

Mein Wegsortier Programm funktioniert schon gut, das würde ich für aktuelle Daten mit:

FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set FOLDERDATE=%%c%%b%%a

machen wollen.
Allerdings müsste ich mit der Lösung für jeden alten Ordner das Systemdatum umstellen und das Programm von Hand starten.
Das würde ich gerne vermeiden.

Ich dachte mir ich kann diesen Ordnernamen aus drei Variablen JJ,MM,TT zusammenbauen. So war zumindest mein Plan.

Bei einem Durchlauf werden die Dateien erst an einen anderen Ort kopiert und dann umbenannt (also wegsortiert)
Bitte warten ..
Mitglied: trixy19
02.07.2008 um 19:16 Uhr
Hallo bastla,

ich vemute das ist die Lösung. Ich werde das gleich mal in mein Programm einbauen.

Vielen Dank erstmal
Bitte warten ..
Mitglied: trixy19
03.07.2008 um 15:41 Uhr
Hallo bastla,

also soweit ich das jetzt sehen kann funktioniert Deine Lösung spitze. Danke erstmal
Ich bekomme allerdings eine Fehlermeldung: maximale rekursionstiefe für setlocal erreicht.
Mit enabledelayedexpansion läuft das programm jetzt zwar durch, aber ich konnte nicht´s finden was
mir diese Meldung erklärt.

Hast Du eine Idee oder kennst Du den Hintergrund der Meldung?

lg bea
Bitte warten ..
Mitglied: bastla
03.07.2008 um 17:50 Uhr
Hallo trixy19!

Es ist zwar spannender, zu raten, ob Du zB in statt vor einer Schleife ein "setlocal" (ohne zugehöriges "endlocal") verwendest, aber einfacher wäre es, wenn Du den Batch posten könntest (vorzugsweise zwischen < code>-Tags).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Windows 10 Batch für Datum und Uhrzeit setzen (18)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel Online Datum (10)

Frage von MegaGiga zum Thema Microsoft Office ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LKDNDK12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...