CMD: Dir AD gibt unterschiedliche Anzahl gefundener Verzeichnisse aus

Mitglied: Berner

Berner (Level 1) - Jetzt verbinden

08.01.2021, aktualisiert 09.01.2021, 501 Aufrufe, 4 Kommentare

Hallo Fachleute

Warum gibt mir in einer Batch-Datei
die richtige Anzahl der Verzeichnisse <Test> an, also 4 Stück

und
weist in der Variable anzahl_gefunden_Pfad_1 deren 17 aus, wobei da auch <Testtest>, <Testtesttest>, <Test1>, <Test1test1> etc. mitgezählt wird

Dies unabhängig davon, ob ich dir /A:D/ /S oder dir /AD /S schreibe und
unabhängig ob C:\Users\xyz\test in "" steht oder nicht?

Versuche nach dem Verzeichnisnahmen Sonderzeichen wie !,#,$ anzufügen haben nichts genützt.

Ich suche eine Lösung ohne Powershell, also am Liebsten klassisch mit DOS-Befehlen
Mitglied: Friemler
LÖSUNG 09.01.2021 um 12:40 Uhr
Hallo @Berner,

füge dem DIR-Befehl noch die Option /B hinzu, damit die Header- und Footer-Ausgaben des DIR-Befehls bei der Ausgabe unterdrückt werden. Bei Deiner derzeitigen Konstruktion der FOR-Schleife zählst Du die nämlich mit.

Außerdem könntest Du für Debug-Zwecke den Body der FOR-Schleife durch eine simple Ausgabe ersetzen, dann wäre Dir der Fehler auch selbst aufgefallen.

Grüße
Friemler
Bitte warten ..
Mitglied: rubberman
LÖSUNG 09.01.2021, aktualisiert um 12:53 Uhr
Drei Dinge vorab:
1) Ohne Option /B besteht die Ausgabe von DIR nicht nur aus den Pfaden. Deine FOR /F Schleife verarbeitet alle Zeilen die nicht leer sind, unabhängig davon ob sie einen Pfad enthalten oder irgendetwas anderes.
2) DIR sucht im Verzeichnis von C:\users\xyz\test. Es ist kein Wildcard Zeichen angegeben was DIR dazu bringen würde das letzte Element als Suchpattern zu werten.
3) Mit der Angabe eines Wildcard Zeichens wird ein Patternmatching betrieben. Um tatsächlich nur Verzeichnisse aufzulisten die auf \test enden (und nicht auf \testfoobar o.ä.) musst du die Ausgabe an FINDSTR weitergeben und gezielt filtern.
Etwa so:
Und wo du schon dabei bist, kannst du das Zählen auch FIND überlassen.
In eine FOR /F Schleife verpackt, müssen die Pipes maskiert werden
Steffen
Bitte warten ..
Mitglied: Berner
09.01.2021 um 15:50 Uhr
Hallo Friemler
Vielen Dank für Deinen Lösungsvorschlag. Tatsächlich gibt es mit der Option /B in der for Schleife auch nur noch 4 Treffer. Wünsche Dir ein erholsames Wochenende.
Bitte warten ..
Mitglied: Berner
09.01.2021 um 15:53 Uhr
Hallo rubbermann. Vielen Dank für Deine Erklärungen und den drei Vorschlägen. Alle drei weisen die richtige Anzahl 4 aus. Wünsche auch Dir ein erholsames Wochenende
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Heimnetzwerk für mobiles Arbeiten
Matthias182Vor 1 TagFrageNetzwerke14 Kommentare

Hallo zusammen, Die Corona Pandemie treibt viele Veränderungen, so auch bei uns. Seit Wochen arbeiten meine Frau und ich wieder von zu Hause. Und ...

Microsoft
Massenumbenennung von Dateien und Ordnern
breakballVor 1 TagFrageMicrosoft12 Kommentare

Hallo zusammen, falls der Beitrag in dieser Kategorie falsch ist, bitte in die richtige verschieben. Stehe vor folgender Aufgabe, in einem Datenverzeichnis befinden sich ...

Firewall
Pfsense plus für Geschäftskunden
Looser27Vor 20 StundenInformationFirewall13 Kommentare

Netgate wird in Zukunft die Open Source Firewall pfSense hauptsächlich als kommerzielle Version unter dem Namen pfSense Plus vermarkten. Die "Community Version" wird weiter ...

TK-Netze & Geräte
Hybrid-Telefon für Betrieb an ISDN- sowie VoIP-Anschluss
Datax87Vor 1 TagFrageTK-Netze & Geräte30 Kommentare

Hallo, ich habe eine Frage zu einer geplanten TK-Anlagen-Umstellung. An der betreffenden ISDN-TK-Anlage sind zurzeit 6 ISDN-Telefone angeschlossen. Der dazugehörige Telefon-/Internetanschluss ist zurzeit ein ...

Router & Routing
Wie DMZ ohne doppeltes NAT am VF-Kabel-Internetzugang realisieren?
OldermanVor 1 TagFrageRouter & Routing24 Kommentare

Hallo und guten Tag allerseits! Ich habe mich nach einiger Zeit des Lesens der aufschlussreichen und wertvollen Beiträge hier zum Thema echtes DMZ mit ...

Windows Systemdateien
Windows 10 Kernisolierung: Inkompatible Treiber entfernen
FrankVor 1 TagAnleitungWindows Systemdateien1 Kommentar

Hallo, Eigentlich wollte ich nur den Empfehlungen der Windows Sicherheit nachgehen und unter Einstellungen -> Windows Sicherheit -> Kernisolierung, die Speicher-Integrität einschalten. Die Kernisolierung ...

Vmware
ESXI 6.5 Fehlgeschlagen - Zugriff auf eine Datei nicht möglich, weil sie gesperrt ist
gelöst zeroblue2005Vor 1 TagFrageVmware5 Kommentare

Hallo Zusammen, da meint man es gut und dann geht es in die Hose Aber erst mal zum IST-Zustand: - ESXI 6.5 U1 (Standalone) ...

Batch & Shell
Benutzeranmeldung mit Einschränkung
gelöst FreeBSDVor 1 TagFrageBatch & Shell8 Kommentare

Hallo zusammen, ich habe da ein kleines Problemchen und zwar versuche ich mich im PowerShell einzulernen, habe da eine kleine Aufgabe bekommen, dennoch krieg ...