Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateierweiterungen in eine Textdatei schreiben

Frage Entwicklung Batch & Shell

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

28.03.2014, aktualisiert 30.03.2014, 1085 Aufrufe, 3 Kommentare

Hallo,

ich hab nach längerer Zeit wieder mal ein Batch-Problem.
Ich möchte alle Dateierweiterungen (txt, docx, jpg, etc.) die in einem bestimmten Verzeichnis vorkommen in eine Textdatei(=Ergebnisdatei) schreiben.
Die Dateierweiterung soll dabei aber nicht mehr als ein Mal in der Textdatei auftauchen.
Der unten angegebene Code schreibt mir aber die Dateierweiterung mehrfach (so oft sie eben vorkommt) in die Textdatei.
Kann man das so machen, das eine Dateierweiterung nur ein Mal in der Textdatei erscheint?

01.
@echo off 
02.
set "Ergebnisdatei=Dateierweiterungen.txt" 
03.
for /f "delims=" %%i in ('dir "d:\quelle" /s /b /a-d') DO @echo %%~xi >> %Ergebnisdatei% 
04.
pause
Mitglied: Xaero1982
28.03.2014, aktualisiert 30.03.2014
Edit: War viel zu lang ... lösung siehe unten
Bitte warten ..
Mitglied: Endoro
LÖSUNG 28.03.2014, aktualisiert 30.03.2014
Für Batch genügt da ein 2½-Zeiler:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
FOR %%A IN (*) DO IF "%%~XA"=="" (SET /a .+=1) ELSE SET /a %%~XA+=1 2>nul 
03.
(FOR /f "tokens=1*delims==" %%A IN ('SET .') DO ECHO(%%A: %%Bx)>extensions.txt
Gruss Endoro.
Bitte warten ..
Mitglied: joe65
30.03.2014 um 17:56 Uhr
Hallo Endoro,

Super! Genau das habe ich gebraucht!
Trotzdem habe ich aber noch 2 Fragen zu deinem Code:
1) Woher weis deine Variable %%B in der 2. Codezeile die Anzahl?
2) Warum muss in der 3. Codezeile am Anfang ein Klammer-Auf Zeichen stehen? Wenn man das nicht macht, dann steht am Ende noch ein Klammer-Zu Zeichen. Aber mir ist nicht klar warum.

Die Frage werde ich als gelöst schließen.
Danke nochmal!

Grüße
joe65
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

Windows 10
gelöst Chinesische Zeichen in Dateierweiterung-Selektor-DropDown (5)

Frage von Techos zum Thema Windows 10 ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...

Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (12)

Frage von Spitzbube zum Thema Firewall ...