Mit Batch zählen
Hallo
Ich nochmal mit einem Kleinen Problem in Sachen Anzahl Dateien zählen
Wolte jetzt mal eine Batch schreiben, die anhand des änderungsdatum von Bildern, Ordner erstell, und diese dan Je nach Datum einsortiert.
(Also sicherlich nichts dramatisches für euch, aber ich wolte mich jetzt einfach mal dran versuchen)
Aber das nur vorne weg, soweit bin ich noch nicht, und da suche ich natürlich weiter wenn es soweit ist.
So mein jetziges Problem sieht wie folgt aus:
Ich will Die Anzahl der Dateien in einem Ordner X herausfinden.
Bevorzugt der Ordner, in dem die Batch Datei liegt, alles andere wäre zu umständlich mit Pfad Eingabe und so.
Hier mein Ansatz:
Mein Problem ist jetzt, wenn ich den Pfad auf "LOL" umleite geht es, wenn ich aber den Source Pfad nehme zeigt es mir keine Datei Anzahl mehr an.
Folgende Zeile habe ich im Internet gefunden:
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
echo Gefunden: %Anz% Dateien
Würde mich mal interessieren, was da geschieht.
Falls jemand eine Anleitung kennt, die sich auf das Problem bezieht, immer her damit.
Habe eben mal auf Anleitungen geklickt, und hab mich in keinster weise zurecht gefunden, weil da irgendwie alles drin ist.
Eins noch:
Wird die Batch Datei mitgezählt, oder nicht? weil wenn diese mitgezählt wird ist es schlecht.
Aber ich denke das lässt sich mit "-1" sicher lösen, da der Dateityp beliebig bleiben soll.
Was bringt eigentlich in der ersten Zeile das setlocal? echo off ist mir schon klar, aber mit dem anderen kann ich nichts anfangen.
Mfg
Und danke im Voraus
Power-Poler
Ich nochmal mit einem Kleinen Problem in Sachen Anzahl Dateien zählen
Wolte jetzt mal eine Batch schreiben, die anhand des änderungsdatum von Bildern, Ordner erstell, und diese dan Je nach Datum einsortiert.
(Also sicherlich nichts dramatisches für euch, aber ich wolte mich jetzt einfach mal dran versuchen)
Aber das nur vorne weg, soweit bin ich noch nicht, und da suche ich natürlich weiter wenn es soweit ist.
So mein jetziges Problem sieht wie folgt aus:
Ich will Die Anzahl der Dateien in einem Ordner X herausfinden.
Bevorzugt der Ordner, in dem die Batch Datei liegt, alles andere wäre zu umständlich mit Pfad Eingabe und so.
Hier mein Ansatz:
@echo off & setlocal
Set "Pfad=%~dp0"
::set "Pfad=C:\LOL"
echo %Pfad%
pause
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
echo Gefunden: %Anz% Dateien
pause
Mein Problem ist jetzt, wenn ich den Pfad auf "LOL" umleite geht es, wenn ich aber den Source Pfad nehme zeigt es mir keine Datei Anzahl mehr an.
Folgende Zeile habe ich im Internet gefunden:
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
echo Gefunden: %Anz% Dateien
Würde mich mal interessieren, was da geschieht.
Falls jemand eine Anleitung kennt, die sich auf das Problem bezieht, immer her damit.
Habe eben mal auf Anleitungen geklickt, und hab mich in keinster weise zurecht gefunden, weil da irgendwie alles drin ist.
Eins noch:
Wird die Batch Datei mitgezählt, oder nicht? weil wenn diese mitgezählt wird ist es schlecht.
Aber ich denke das lässt sich mit "-1" sicher lösen, da der Dateityp beliebig bleiben soll.
Was bringt eigentlich in der ersten Zeile das setlocal? echo off ist mir schon klar, aber mit dem anderen kann ich nichts anfangen.
Mfg
Und danke im Voraus
Power-Poler
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 159009
Url: https://administrator.de/forum/mit-batch-zaehlen-159009.html
Ausgedruckt am: 21.02.2025 um 11:02 Uhr
13 Kommentare
Neuester Kommentar

Servus
such mal in meinen Anleitungen nach @echo off....und auch deine Frage gehört zu denen, die es so nicht geben würde, wenn du echo on geschaltet hättest.

edit - wobei es in dem Fall Wurst ist, ob der "pfad" am ende ein \ hat oder nicht - außer es gäbe sowohl ordner als auch Datei(en) mit dem Namen.
Ich kann dir nur dir /? usw wärmstens empfehlen.
/edit
Gruß
Zitat von @Power-Poler:
Mein Problem ist jetzt, wenn ich den Pfad auf "LOL" umleite geht es, wenn ich aber den Source Pfad nehme zeigt es mir keine Datei Anzahl mehr an.
Mein Problem ist jetzt, wenn ich den Pfad auf "LOL" umleite geht es, wenn ich aber den Source Pfad nehme zeigt es mir keine Datei Anzahl mehr an.
- bätche sind dümmer als Brot die wissen nicht, wann Sie hart werden dürfen - daher muß man bei jedem Programm aufs
grammMü genau sein.
Würde mich mal interessieren, was da geschieht.
- Jeder einzelne der Befehle kennt den Parameter /? - schau es dir einfach mal an.
Wird die Batch Datei mitgezählt, oder nicht? weil wenn diese mitgezählt wird ist es schlecht.
- Gegenfrage - ist die Batch in dem durchsuchten Pfad?
Aber ich denke das lässt sich mit "-1" sicher lösen, da der Dateityp beliebig bleiben soll.
- Si Senor
Was bringt eigentlich in der ersten Zeile das setlocal? echo off ist mir schon klar, aber mit dem anderen kann ich nichts anfangen.
- Puh - harter Tobak
mit dem glasklaren echo off..
such mal in meinen Anleitungen nach @echo off....und auch deine Frage gehört zu denen, die es so nicht geben würde, wenn du echo on geschaltet hättest.
- Set "Pfad=%~dp0" mit einem Pause zeigt dir den Unterschied zu deinem selbstgesetzten lol - ist nur ein kleiner aber gemeiner schräger
edit - wobei es in dem Fall Wurst ist, ob der "pfad" am ende ein \ hat oder nicht - außer es gäbe sowohl ordner als auch Datei(en) mit dem Namen.
Ich kann dir nur dir /? usw wärmstens empfehlen.
/edit
Gruß
Moin Power-Puler,
ich finde es gut, dass du dich da durchbeissen und auch die einzelnen Befehle verstehen willst.
Zu dem zweiten, allgemeineren Teil deiner Fragen dazu:
Hier im Forum und auch im Bereich "Batchkrams" sind wir da quantitativ relativ gut aufgestellt - wenn du beispielsweise zu dem obigen Internet-Fundstück mal in unsere Forumssuchfunktion eingibst "FindStr Datei(en)", dann findest du 9 Fragen, 2 Anleitungen und 56 Kommentare dazu.
Und mit Abstand am Saubersten wird genau diese DIR-Ausgabe mit FOR /F-Anweisungen seziert in @Friemler 5-Sterne-Tutorial zu FOR-Schleife.
[ wenn du in dieser Anleitung das zweite Vorkommnis von "Datei(en)" gefunden hast, da hast du deinen Fall in 3 Bänden mit Goldprägung.]
Wenn du dieses Tutorial durchgehechelt hast, dann nimm danach diese Zeile vom CMD-Prompt:
... und du verstehst sofort jede einzelne Zeile.
Grüße
Biber
ich finde es gut, dass du dich da durchbeissen und auch die einzelnen Befehle verstehen willst.
Zu dem zweiten, allgemeineren Teil deiner Fragen dazu:
Hier im Forum und auch im Bereich "Batchkrams" sind wir da quantitativ relativ gut aufgestellt - wenn du beispielsweise zu dem obigen Internet-Fundstück mal in unsere Forumssuchfunktion eingibst "FindStr Datei(en)", dann findest du 9 Fragen, 2 Anleitungen und 56 Kommentare dazu.
Und mit Abstand am Saubersten wird genau diese DIR-Ausgabe mit FOR /F-Anweisungen seziert in @Friemler 5-Sterne-Tutorial zu FOR-Schleife.
[ wenn du in dieser Anleitung das zweite Vorkommnis von "Datei(en)" gefunden hast, da hast du deinen Fall in 3 Bänden mit Goldprägung.]
Wenn du dieses Tutorial durchgehechelt hast, dann nimm danach diese Zeile vom CMD-Prompt:
>@for %i in (txt bat cmd pdf) do @for /f %j in ('dir d:\temp\*.%i^|findstr "Datei(en)"') do @echo Anzahl *.%i: %j
Anzahl *.txt: 81
Anzahl *.bat: 32
Anzahl *.cmd: 9
Anzahl *.pdf: 1
Grüße
Biber
BTW, Power-Puler,
wenn du doch die Batch-Datei ohnehin in den Ordner, der durchgeflöht werden soll packen und dort starten willst,
dann kannst du auch solche abgedrehten akademischen Elaborate wie 'Set "Pfad=%~dp0" ' ganz weglassen
->es geht um das aktuelle Verzeichnis-> also um ein einfaches ' DIR .' oder 'DIR .\*.jpg'.
Wenn du aber kein 'SET pfad=...' mehr brauchst, dann brauchst du auch kein "SetLocal" und der ganze Batch passt schon auf viel kleinere Festplatten.
Grüße
Biber
wenn du doch die Batch-Datei ohnehin in den Ordner, der durchgeflöht werden soll packen und dort starten willst,
dann kannst du auch solche abgedrehten akademischen Elaborate wie 'Set "Pfad=%~dp0" ' ganz weglassen
->es geht um das aktuelle Verzeichnis-> also um ein einfaches ' DIR .' oder 'DIR .\*.jpg'.
Wenn du aber kein 'SET pfad=...' mehr brauchst, dann brauchst du auch kein "SetLocal" und der ganze Batch passt schon auf viel kleinere Festplatten.
Grüße
Biber
Moin Power-Poler,
Du hattest doch diese Plauderei eröffnet mit den Worten
Ich dachte, da ging es um das Rausfieseln einer Dateianzahl aus der DIR-Ausgabe?
Und auf ein Tutorial, in dem das Rausfieseln von allen kleinen Perlen aus etwas Hingeworfenem
allergeduldigst beschrieben wird, hatte ich doch auch schon verwiesen weiter oben?
???
Grüße
Biber
Zitat von @Power-Poler:
An was für Festplatten denkst du?
Ich dachte an welche von 100GB bis 1000GB (Auf denen das Programm arbeiten soll,
es soll die 100GB dan nicht anfangen zu sortieren)
Hast recht, da sollte die Batchdatei <i>eigentlich draufpassen, egal ob als Oneliner oder als 10-Zeiler.An was für Festplatten denkst du?
Ich dachte an welche von 100GB bis 1000GB (Auf denen das Programm arbeiten soll,
es soll die 100GB dan nicht anfangen zu sortieren)
Und bitte, nenn mich nicht Puler.
entweder Power-Poler, oder nur Power.
Danke
Tja, da bin ich wohl mit der Schreibweise Pooler beim Poler auf'n Poller gelaufen.entweder Power-Poler, oder nur Power.
Danke
Und wie kann ich dan das DIR in eine Anzahl packen? das zeigt mir doch nur eine Liste der Dateien an.
Ägypten? Pellkartoffel? 42?Du hattest doch diese Plauderei eröffnet mit den Worten
Folgende Zeile habe ich im Internet gefunden:
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
echo Gefunden: %Anz% Dateien
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
echo Gefunden: %Anz% Dateien
Ich dachte, da ging es um das Rausfieseln einer Dateianzahl aus der DIR-Ausgabe?
Und auf ein Tutorial, in dem das Rausfieseln von allen kleinen Perlen aus etwas Hingeworfenem
allergeduldigst beschrieben wird, hatte ich doch auch schon verwiesen weiter oben?
???
Grüße
Biber