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 Mit Batch zählen

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

19.01.2011, aktualisiert 18.10.2012, 10151 Aufrufe, 13 Kommentare

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:

01.
@echo off & setlocal
02.
Set "Pfad=%~dp0"
03.

04.
::set "Pfad=C:\LOL"
05.
echo %Pfad%
06.
pause
07.
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
08.
echo Gefunden: %Anz% Dateien
09.

10.
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
Mitglied: micneu
19.01.2011 um 18:50 Uhr
würde dir auch ein powershell script helfen?

noch ein paar fragen, sind es nur .jpg oder auch .tif oder .png?
die soll die strucktur werden?
jahr -> monat -> tag -> bild?
wie soll es sein?
sowas könnte ich dir schnell liefern
Bitte warten ..
Mitglied: Power-Poler
19.01.2011 um 18:57 Uhr
Danke für deine Hilfe
Würde es gerne aber selbst mal versuchen.
Und wie gesagt, das ganze Sortieren soll später stattfinden.
Ich will jetzt erst mal mit der Zählung der Dateien beginnen und wie gesagt, soll der Datei Typ eigentlich irrelevant bleiben. Es soll einfach sortiert werden.
warum wäre es wichtig ob es jpg oder tif sind?
Bitte warten ..
Mitglied: micneu
19.01.2011 um 19:36 Uhr
ob du mit exif daten arbeiten kannst / willst.

hier damit kannst du die anzahl der dateien anzeigen im aktuellen verzeichniss
01.
$test = Get-ChildItem
02.
$test.Count
Bitte warten ..
Mitglied: 60730
19.01.2011 um 19:49 Uhr
Servus
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.
  • 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 \/ogel

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ß
Bitte warten ..
Mitglied: Biber
19.01.2011, aktualisiert 18.10.2012
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:
>@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
... und du verstehst sofort jede einzelne Zeile.

Grüße
Biber
Bitte warten ..
Mitglied: Power-Poler
19.01.2011 um 20:05 Uhr
Jetzt geht es:
Diese Zeile hat mir gefehlt:
Set Pfad=%Pfad:~0,-1%

Dachte ich hätte es soweit schon, habe aber den befehl immer falsch geschrieben:
Set Pfad=%Pfad%:~0,-1 <-- so hatte ich es versucht.
Bitte warten ..
Mitglied: Biber
19.01.2011 um 21:34 Uhr
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
Bitte warten ..
Mitglied: Power-Poler
20.01.2011 um 16:48 Uhr
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

Und wie kann ich dan das DIR in eine Anzahl packen? das zeigt mir doch nur eine Liste der Dateien an.
Bitte warten ..
Mitglied: Biber
20.01.2011 um 18:26 Uhr
Moin Power-Poler,

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.
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.
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

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
Bitte warten ..
Mitglied: Power-Poler
20.01.2011 um 18:35 Uhr
Ja, entschuldige, hab da etwas auf dem Schlauch gestanden.
Das tut die Zeile ja schon.
Bin immer noch am durcharbeiten des tuts, und habe zumindest mal raus gefunden, wie man mit Variablen Verzögerungen umgeht.
Bitte hab etwas Geduld mit mir.
Ich melde mich dan normal, wenn ich das tut durch habe.
Eins noch.
Wie kann ich das automatische schließen der patch verhindern, bei Syntaxfehler oder so.
Kann da immer noch kurz die Fehlermeldung lesen, also was ich falsch gemacht habe, aber es geht dan sofort wider zu.
Auch mein beliebtes "Pause" hilft mir da nicht weiter.
Bitte warten ..
Mitglied: Biber
20.01.2011 um 18:44 Uhr
Moin Power-Poler,

CMD-Bätches, KiX-/VBS-/JSKleinskripte im Entwicklungsstadium werden immer getestet am CMD-Prompt/an der "Eingabeaufforderung".
Im Zweifelsfall nach "Eingabeaufforderung" in der Windows-Hilfe suchen.

Per Doppelklick von Desktop aus kannst du nichts testen.

Grüße
Biber
Bitte warten ..
Mitglied: Power-Poler
20.01.2011 um 19:04 Uhr
Danke, habs gefunden.
CMD öffnen, batch rein ziehen, Enter drücken, und Fehlermeldung bleibt stehen.
Hab nur nicht gedacht, das es für Windows einen unterschied macht, da ja bei Doppelklick auch CMD geöffnet wird.
Bitte warten ..
Mitglied: Power-Poler
22.01.2011 um 11:12 Uhr
So
Habe es endlich geschafft.
Natürlich will ich euch das Ergebnis nicht vorenthalten.
01.
@echo off & setlocal enabledelayedexpansion 
02.
Set "Pfad=%~dp0"
03.
for /f %%i in ('dir "%Pfad%" ^2^>nul^|find "Datei(en)"') do set /a anz+=%%i
04.
set Anz=%Anz%
05.
echo Gefunden: %Anz% Datei(en)
06.
echo Dateien nach Name sortieren "N"
07.
echo Dateien nach Datum sortieren "D"
08.
echo Falsche eingabe, erneute eingabe
09.

10.
:Neu
11.
set /p "Hallo=Was soll geschen: "
12.

13.
if "%Hallo%" equ "N" goto :LOL
14.
if "%Hallo%" equ "D" goto :Test2
15.
goto :Neu
16.

17.

18.
:LOL
19.
for %%i in ("%Pfad%*") do (
20.
set "lol=%%~xi"
21.
set "lol2=%%~ni"
22.
set "lol3=!lol2!!lol!"
23.
xcopy "%%i" "%Pfad%!lol2!\" /I
24.
)
25.

26.
goto :EOF
27.

28.
:Test2
29.
for %%i in ("%Pfad%*") do (
30.
set Zeit=%%~ti
31.
echo !Zeit!
32.
set Zeit2=!Zeit:~0,10!
33.
echo !Zeit2!
34.
xcopy "%%i" "%Pfad%!Zeit2!\" /I
35.
)
36.
goto :EOF
37.
Hoffe habe alles richtig gemacht, und er tut auch das was er soll.
Zu der Zeile, die die Anzahl der Dateien Zählen soll, hätte ich noch eine frage, ob ich das richtig sehe:
Die Zeile Zählt ja nicht wirklich die Anzahl der Dateien, sondern nur die Wiederholungen der For schleife, also wie oft der dir Befehl Braucht, um alle Dateien zu finden, oder sehe ich das Falsch?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch: eine Zahl eingeben und als echo ausgeben

gelöst Frage von Vit1985Batch & Shell2 Kommentare

Hallo, ich möchte mithilfe von einem Batch im DOS Fenster eine Zahl (z.B. 350) eintippen können und diese Zahl ...

Batch & Shell

Mit Batch in Bestimmter Zeilennummer Wert zu Zahl addieren

gelöst Frage von SeppaeBatch & Shell23 Kommentare

Hallo alle miteinander! Ich habe folgende Aufgabenstellung bekommen und komme momentan einfach nicht weiter: Ich soll in einer .txt ...

Datenbanken

MSSQL Text in Zahl umwandeln

gelöst Frage von EricAG3Datenbanken1 Kommentar

Hallo zusammen, folgende Tabelle sei gegeben. Menge 5,5 2,5 - 2,5 Das Feld Menge ist vom varchar. Ich möchte ...

Batch & Shell

Per Batch Datei die Zahl jede Zell in einer Spalte um 10 verkleinern

gelöst Frage von ha5257Batch & Shell12 Kommentare

Guten Morgen, ich importiere jeden Tag automatisch eine Lagerbestandsliste(csv Datei) von meinem Lieferant mit einem Batch Datei. Die Batch ...

Neue Wissensbeiträge
Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner2 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 1 TagWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Humor (lol)
Wenn hacken nach hinten los geht
Information von em-pie vor 2 TagenHumor (lol)5 Kommentare

Moin, weil heute Freitag ist, nachfolgender kurzer Artikel zum schmunzeln:) l+f: NULL ist ein notorischer Falschparker

Windows Update
Windows: August 2019 Patchday-Probleme
Information von kgborn vor 3 TagenWindows Update3 Kommentare

Ich kippe mal einige kurze Informationen hier rein - vielleicht hilft es Betroffenen. Die August 2019-Updates für Windows haben ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs28 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Ubuntu
Download manchmal langsam oder komplette Abbrüche bzw. Videos spielen nicht bis zum Schluss
Frage von stefanstpUbuntu17 Kommentare

Immer wieder berichten unsere Kunden, dass Downloads abbrechen oder super langsam sind oder Videos nicht abgespielt werden können bzw. ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
Frage von SnowbirdHyper-V17 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid15 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...