Top-Themen

Aktuelle Themen (A bis Z)

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 Batch-Datei zur Erstellung von Ordnern nach einem ganz besonderen System

Mitglied: feuerflorian

feuerflorian (Level 1) - Jetzt verbinden

15.08.2019, aktualisiert 22.08.2019, 283 Aufrufe, 9 Kommentare, 2 Danke

Guten Tag!

Ich möchte eine Batch-Datei erstellen, die folgendes tut:

Ich möchte ganz viele Ordner erstellt bekommen, die einem Muster folgen. Der Ordnername soll der zu Beginn eine vierstellige Nummer, dann ein Leerzeichen, dann einen Bindestrich, dann ein bestimmtes Datum haben. Dann sollen immer weiter Ordner erstellt werden, die dem Muster folgen:

0001 - 2000-01-01
0002 - 2000-01-02
... usw.

Natürlich sollen die richtigen Nummern zum jeweils richtigen Datum passen.
Sprich: Wenn der Januar 2000 genau 31 Tage hatte, dann soll es auch 0031 - 2000-01-31 und dann erst 0032 - 2000-02-01 geben ... usw.

Ich möchte zudem gerne, dass die damit erstellten Ordner sofort in ein jeweils passendes Unterverzeichnis verschoben werden:

Dieses soll so aussehen

"2000-01 - Januar 2000"
"2000-02 - Februar 2000"
... usw.

Wichtig wäre auch noch, dass ich zuvor "gefragt" werde oder "einfach" eingeben kann, welches Jahr ich erstellen möchte ... Ob dazu die Eingabe der Zahl nötig ist, mit der ich starten möchte - oder das Programm selbst weiß, dass das Jahr 2000 zum Beispiel 366 Tage hatte, da bin ich mir unsicher und überlasse es den Fachleuten - also Euch.

Vielen Dank für Eure Hilfe!

Hintergrund meiner Frage: Ich stehe vor dem Nichts und kann daher auch keine Programmierer bezahlen ... Daher bitte ich hier um Hilfe. Ich habe schon verschiedene Hilfen für Ordner mit Datum im Netz gefunden - aber ich scheitere an den vier Nummern zuvor... Ich hatte dafür sogar einmal eine batch-datei "bekommen" / "gefunden" - aber die ist mit auf den geklauten Festplatten ... :'(

Also: Vielen Dank!!!!
Florian.
Mitglied: LotPings
LÖSUNG 15.08.2019 um 19:17 Uhr
Moin, moin.

Es ist mMn nicht sehr pfiffig Ordner zu erstellen und sie dann zu verschieben.
Lieber gleich die richtige Struktur erzeugen zumal der md/mkdir Befehl in aktuellen Windows Versionen mit standardmäßig aktivierten Erweiterungen die nötigen Zwischenverzeichnisse in einem Schritt erstellt.

Wenn das mit Batch passieren soll, schau dir mal die Date/Time Funktionen von Ritchie Lawrence Batch Library an.

Einfacher geht es mit einer aktuellen Script Sprache wie PowerShell.

Soll die Tages Nummerierung pro Jahr oder fortlaufend ab 2000-01-01 erfolgen?

bei 4 Stellen wäre dann

01.
PoSh> (get-date 2000-01-01).AddDays(9999)                                                                                               
02.
Dienstag, 18. Mai 2027 00:00:00
Schluss.

Gruß
LotPings
Bitte warten ..
Mitglied: feuerflorian
15.08.2019 um 19:38 Uhr
... vielen Dank für die Hinweis. Bin leider überhaupt nicht firm.
Die Frage verstehe ich leider nicht ganz.
Wenn "alles" stimmt, dann sollte er diesen Ordner für "heute" erstellen:

7167 - 2019-08-15

Ist damit die Frage beantwortet? Danke!

PS: Wie er was macht und verschiebt, ist mir ehrlich gesagt egal ;) Wenn er einen Ordner für den Monat erstellt, dann darin die Ordner für die Tage - super .... ;) Dann fehlt ja nur noch, dass er für die Monate auch noch den übergeordneten erstellt ... "2000", "2001"... usw.

Ein Hinweis noch: Ob die Zahl 7167 stimmt, ist nicht sicher, da die alten Daten ja weitestgehend weg sind :/

Danke!
Bitte warten ..
Mitglied: LotPings
LÖSUNG 15.08.2019 um 20:57 Uhr
Den folgenden Code anpassen ($Basefolder/$Day in x..y) und in einer Datei mit der Endung .ps1 abspeichern und mit PowerShell ausführen.

01.
$BaseFolder = 'A:\Test'
02.

03.
# Jahr 2019 = ForEach($Day in 6941..7305){
04.

05.
ForEach($Day in 1..99){
06.
MD ('{0}\{1:yyyy\\yyyy-MM - MMMM yyyy\\}{2:D4} - {1:yyyy-MM-dd}' -f `
07.
    $BaseFolder,(Get-Date 1999-12-31).AddDays($Day),$Day) #-WhatIf
08.
}
Das erzeugt eine solche Struktur:
PoSh> tree A:\Test
A:\TEST
└───2000
    ├───2000-01 - Januar 2000
    │   ├───0001 - 2000-01-01
    │   ├───0002 - 2000-01-02
    │   ├───0003 - 2000-01-03
    │   ├───0004 - 2000-01-04
%<............................>%
    │   ├───0029 - 2000-01-29
    │   ├───0030 - 2000-01-30
    │   └───0031 - 2000-01-31
    ├───2000-02 - Februar 2000
    │   ├───0032 - 2000-02-01
    │   ├───0033 - 2000-02-02
%<............................>%
    │   ├───0058 - 2000-02-27
    │   ├───0059 - 2000-02-28
    │   └───0060 - 2000-02-29
    ├───2000-03 - März 2000
    │   ├───0061 - 2000-03-01
    │   ├───0062 - 2000-03-02
    │   ├───0063 - 2000-03-03
%<............................>%
    │   ├───0089 - 2000-03-29
    │   ├───0090 - 2000-03-30
    │   └───0091 - 2000-03-31
    └───2000-04 - April 2000
        ├───0092 - 2000-04-01
        ├───0093 - 2000-04-02
        ├───0094 - 2000-04-03
%<............................>%
        └───0099 - 2000-04-08
Bitte warten ..
Mitglied: feuerflorian
16.08.2019 um 01:24 Uhr
Danke! Grandios! Sie sind mein zweiter Held am heutigen Tage!!! Vielen vielen Dank!
Bitte warten ..
Mitglied: 140777
16.08.2019, aktualisiert um 11:34 Uhr
Oder wenn man nicht mit erst zu berechnenden Zahlen hantieren möchte
01.
$year = 2019
02.
$folder = 'D:\Basefolder'
03.
0..(@{$true=365;$false=364}[[datetime]::IsLeapYear($year)]) | %{
04.
    md ("{0}\{1}\{2:yyyy-MM - MMMM yyyy}\{3:D4} - {2:yyyy\-MM\-dd}" -f $folder,$year,(get-date -Year $year -Month 1 -Day 1).AddDays($_),($_+1))
05.
}
Bitte warten ..
Mitglied: NetzwerkDude
16.08.2019 um 10:35 Uhr
Aber dann bitte auch in deiner nächsten Publikation dafür sorgen das dieses Forum mehr fame bekommt
Bitte warten ..
Mitglied: LotPings
20.08.2019 um 18:38 Uhr
Moin moin,

coding der Knackpunkt bei der Tagesnumerierung war doch, das die vom 1.1.2000 durchlaufen sollte,
nicht pro Jahr - da hätte ja ein simples (Get-Date).DayOfYear ausgereicht.

01.
2000..2027|ForEach-Object{
02.
    [PSCustomObject]@{
03.
        Jahr=$_
04.
        'Jan 1, Tage kum'=((Get-Date -year $_ -month 1 -Day 1) - (Get-Date 1999-12-31)).Days
05.
        'Dez 31, Tage kum'=((Get-Date -year $_ -month 12 -Day 31) - (Get-Date 1999-12-31)).Days
06.
        'Dez 31, DoY'=(Get-Date -year $_ -month 12 -Day 31).DayOfYear
07.
    }
08.
}
Jahr Jan 1, Tage kum Dez 31, Tage kum Dez 31, DoY
---- --------------- ---------------- -----------
2000               1              366         366
2001             367              731         365
2002             732             1096         365
2003            1097             1461         365
2004            1462             1827         366
2005            1828             2192         365
2006            2193             2557         365
2007            2558             2922         365
2008            2923             3288         366
2009            3289             3653         365
2010            3654             4018         365
2011            4019             4383         365
2012            4384             4749         366
2013            4750             5114         365
2014            5115             5479         365
2015            5480             5844         365
2016            5845             6210         366
2017            6211             6575         365
2018            6576             6940         365
2019            6941             7305         365
2020            7306             7671         366
2021            7672             8036         365
2022            8037             8401         365
2023            8402             8766         365
2024            8767             9132         366
2025            9133             9497         365
2026            9498             9862         365
2027            9863            10227         365
Bitte warten ..
Mitglied: 140777
20.08.2019, aktualisiert um 19:42 Uhr
Zitat von LotPings:

Moin moin,

coding der Knackpunkt bei der Tagesnumerierung war doch, das die vom 1.1.2000 durchlaufen sollte,
nicht pro Jahr -
Kann ich nirgendwo in seinem Post so nachlesen.

Er schrieb ja das er das Jahr selbst bestimmen möchte welches er erzeugen will. Zitat:
Wichtig wäre auch noch, dass ich zuvor "gefragt" werde oder "einfach" eingeben kann, welches Jahr ich erstellen möchte ...

Naja jeder wie er will und mag, kann er ja selbst entscheiden .
Bitte warten ..
Mitglied: feuerflorian
22.08.2019 um 10:31 Uhr
... vielen Dank - mir hat das sehr geholfen und mein Problem gibt es nicht mehr.

Noch einmal großes Dankeschön für die tolle und mega schnelle Hilfe!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch - Excel - automatische Erstellung von fortlaufenden Nummern

gelöst Frage von freshman2017Batch & Shell2 Kommentare

Moin, gibt es eine Möglichkeit über eine Batch eine Excel Liste zu erstellen? In Spalte A soll dauerhaft 10000 ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell

Batch Datei Ordnerüberwachung

Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Batch & Shell

Batch Datei - Hilfe!

gelöst Frage von freshman2017Batch & Shell4 Kommentare

Einen wunderschönen "Wahl"- Sonntag, ich habe wieder eine Frage; wer kann mir helfen? Ich habe eine Ausgangsdatei (.txt) mit ...

Neue Wissensbeiträge
Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 StundeSicherheits-Tools

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 1 TagHyper-V4 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 1 TagServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Information von Snowbird vor 3 TagenHumor (lol)8 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Grafikkarten Angebot auf Amazon
gelöst Frage von NudellordGrafikkarten & Monitore22 Kommentare

Hallo Community, ich suche eine neue Grafikkarte und bin auf die Nvidea Gforce GTX 1080 ti gestoßen. Und dabei ...

Hyper-V
Keine Netzwerkverbindung W2016 VM
gelöst Frage von keine-ahnungHyper-V19 Kommentare

Moin, ich verliere gleich meine contenance ;-). Ich versuche gerade, auf einem Hyper-V 2016 GUI eine W2016-VM (Generation 2 ...

Batch & Shell
Powershell - Webseite auslesen und Abspeichern ein paar Probleme
gelöst Frage von kime203Batch & Shell18 Kommentare

Hallo alle miteinander, ich hab die Aufgabe eine Webseite auszulesen um Einsatzdaten der Feuerwehr daraus zu gewinnen. Das habe ...

Windows 7
Systemwiederherstellung mittel Console und Schattenkopie?
Frage von Kerbel3rdWindows 717 Kommentare

Moin, leider hat mir das Update auf Framework 4.8 meinen Rechner bzw mein Framework zerschossen. Nach tagelangen Reparaturversuchen mittels ...