functionstrut
Goto Top

Fehlende Ordner per CMD oder Shell finden

Hallo ihr lieben Programmierer face-smile

ich benötige mal wieder hilfe face-confused

folgende Ordnerstruktur:

C:\Enten
Bilder 1
Bilder 2
Bilder 3
Bilder 10
Bilder 11
C:\Pferde
Bilder 5
Bilder 9
Bilder 13


Ausgabe sollte lauten:

C:\Enten
Bilder 1
Bilder 2
Bilder 3
Bilder 4 fehlt
Bilder 5 fehlt
Bilder 6 fehlt
Bilder 7 fehlt
Bilder 8 fehlt
Bilder 9 fehlt
Bilder 10
Bilder 11
C:\Pferde
Bilder 1 fehlt
Bilder 2 fehlt
Bilder 3 fehlt
Bilder 4 fehlt
Bilder 5
Bilder 6 fehlt
Bilder 7 fehlt
Bilder 8 fehlt
Bilder 9
Bilder 10 fehlt
Bilder 11 fehlt
Bilder 12 fehlt
Bilder 13

ich möchte also das das script egal ob cmd oder Shell(ist denke ich einfach oder?!) prüft welche Zahl der letzte Ordner hat (zum Beispiel Bilder 13) und füllt dann alle fehlenden Ordner dazwischen mit den "Bilder x fehlt" Ordnern auf. Er soll also leere Ordner erstellen in den jeweiligen verzeichnissen.

Ich habe zwar schon rausbekommen wr ich mir den letzten Ordner auslesen kann aber nicht wie ich dawischen die fehlenden Ordner erstellen kann face-sad
Am besten mit einer Zählschleife die dann von 1..$Variable geht und die Variable ändert sich je nach Verzeichniss. Bei "Enten" wäre es also 1..11 und bei "Pferde" 1..13

Content-Key: 312734

Url: https://administrator.de/contentid/312734

Printed on: April 19, 2024 at 07:04 o'clock

Member: sabines
sabines Aug 16, 2016 at 09:36:27 (UTC)
Goto Top
Moin,

am schnellsten und ohne großes Listen geht sowas mit if exist.
Du prüfst die Existenz des Ordners und erstellst ihn ggfs.

Gruß
Mitglied: 129813
Solution 129813 Aug 16, 2016, updated at Aug 17, 2016 at 06:36:35 (UTC)
Goto Top
@echo off & setlocal enabledelayedexpansion
set "folder=C:\rootfolder"  
for /d %%a in ("%folder%\*") do (  
    set max=0
    for /f "tokens=1,2 delims= " %%b in ('dir /B /AD "%%a"') DO @(if %%c GTR !max! set max=%%c)  
    for /L %%d in (1 1 !max!) do (
        if not exist "%%a\Bilder %%d" md "%%a\Bilder %%d fehlt"  
    )
)
Regards
Member: functionstrut
functionstrut Aug 16, 2016 at 09:56:17 (UTC)
Goto Top
PEEEEEEERFEKT face-smile genau so habe ich es mir gewünscht und dann auch noch in cmd :D
musste nur das md "%%a\Bilder %%d" durch das wort "fehlt" ergänzen das hast du wohl irgendwie übersehen face-smile
Member: Stefan007
Stefan007 Aug 17, 2016 at 05:50:16 (UTC)
Goto Top
Hi, kannst du den korrekten Quelltext bitte mal posten? face-smile
Mitglied: 129813
129813 Aug 17, 2016 updated at 06:39:37 (UTC)
Goto Top
Zitat von @Stefan007:
Hi, kannst du den korrekten Quelltext bitte mal posten? face-smile
It's only the additional string fehlt for the folder name in line 7 which was missing (a cosmetic thing face-wink), is corrected above, sir. The code apart from that does what he should.