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

DirList Ausgabe in Textdatei formatieren

Frage Entwicklung Batch & Shell

Mitglied: fugu

fugu (Level 2) - Jetzt verbinden

08.03.2006, aktualisiert 22.03.2006, 14634 Aufrufe, 9 Kommentare

ohne Pfadangaben

Moinz an alle Batch-Profis!

Also bis hier hin ist das ja noch leicht:

---
dir D:\eBooks /s /b >> eBooks.txt
---

Kann man dem Ganzen jetzt noch "verbieten" immer die Pfadangabe mit auszugeben? Ich möchte nur die Dateinamen in der Textdatei haben.

Thx, Fugu
Mitglied: Dani
08.03.2006 um 14:44 Uhr
Hi,
ich hab das so hinbekommen, dass nur die im angegebenen Pfad in der txt - Datei landen.
Einfach " /s /b " weglassen.

Gruß
Dani
Bitte warten ..
Mitglied: 13100
08.03.2006 um 14:47 Uhr
/s hebt /b auf, soweit ich weiss, also ohne /s müsste es gehen.
Bitte warten ..
Mitglied: fugu
08.03.2006 um 14:54 Uhr
Jo prima, this worx!
Nur ist das jetzt ohne Unterverzeichnisse.
D. h. ich kann keine doppelte Einträge finden und ich müsste alle Unterverzeichnisse extra eingeben.

Vielleicht noch andere Ideen?

Fugu
Bitte warten ..
Mitglied: Dani
08.03.2006 um 17:07 Uhr
Hi,
probier das mal:

For /F "delims=" %%i in ('dir *.*') do echo %%i >>C:\text.txt


Gruß
Dani
Bitte warten ..
Mitglied: djbrandt
09.03.2006 um 15:30 Uhr
Hallo,

versuch mal mit:


for /f "usebackq" %i in (`dir /s /b`) do @echo %~ni.%~xi

sorry, kleiner bug

also in Deinem Fall

for /f "usebackq tokens=*" %i in (`dir D:\eBooks /s /b`) do @echo %~ni%~xi >> eBooks.txt

Gruß

Dieter
Bitte warten ..
Mitglied: Biber
15.03.2006 um 22:10 Uhr
Moin fugu,
ich versuch auch mal herzuleiten, wie ich es angehen würde..

In meinem Beispiel suche ich mal nicht nach allen Dateien auf d:\ebooks, sondern nach allen Dateien D:\temp\d*.zip
Ich mache es mal in Zwischenschritten am CMD-Prompt.
Step 1 Settings... a) Mein DIR-Befehl und b) meine ListDatei
$cmd$ set "mydircmd=dir d:\temp\d*.zip /s /b"
$cmd$ Set "lst=con"

Step 2
$cmd$ for /f "delims=" %i in ('%myDircmd%') do @echo [%~nxi] [%~dpi]

[DPNachnahme.zip] [d:\temp\]
[disco4i.jar-796e158a-7924f48a.zip] [d:\temp\Backup1\tsprofil\Oracle Jar Cache\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW004\TEST_P\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW005\TEST_ME\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\Dbvisu\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]
[db2javaV72FP7.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]

Step 3
Den Outputkrams gleich mal alphabetisch in die Ausgabedatei sortieren lassen:
$cmd$(for /f "delims=" %i in ('%myDircmd%') do @echo [%~nxi] [%~dpi])|sort >%lst%
[db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW004\TEST_P\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW005\TEST_ME\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\Dbvisu\]
[db2java.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]
[db2javaV72FP7.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]
[disco4i.jar-796e158a-7924f48a.zip] [d:\temp\Backup1\tsprofil\Oracle Jar Cache\]
[DPNachnahme.zip] [d:\temp\]

So habe ich (wenn ich dieses Ergebnis in eine echte Datei wegschreiben lasse, alles nach Dateinamen sortiert und die Verzeichnisnamen hintendran.
Step 4 Listfile ändern und letzten Befehl nochmal abschicken
$cmd$ Set "lst=alldzips.txt"
$cmd$ (for /f "delims=" %i in ('%myDircmd%') do @echo [%~nxi] [%~dpi])|sort >%lst%


So, nun wäre die halbe Aufgabe gelöst...
Willst Du nur eine Liste nur mit Dateinamen:
>for /f "delims=][ tokens=1,3" %i in (%lst%) do @echo %i
db2java.zip
db2java.zip
db2java.zip
db2java.zip
db2javaV72FP7.zip
disco4i.jar-796e158a-7924f48a.zip
DPNachnahme.zip

Wenn Du jetzt noch schnell alle "doppelten" Dateinamen sehen willst, reicht folgende eine Zeile am CMD-Prompt

$cmd$for /f "delims=][ tokens=1,3" %i in (%lst%) do @find /n "%i" %lst%|@find /v "%j"|find /v /i "%lst%"

[2][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW005\TEST_ME\]
[3][db2java.zip] [d:\temp\unterverzeichnis_neu\Dbvisu\]
[4][db2java.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]

[1][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW004\TEST_P\]
[3][db2java.zip] [d:\temp\unterverzeichnis_neu\Dbvisu\]
[4][db2java.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]

[1][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW004\TEST_P\]
[2][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW005\TEST_ME\]
[4][db2java.zip] [d:\temp\unterverzeichnis_neu\Sql-Workbench\]

[1][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW004\TEST_P\]
[2][db2java.zip] [d:\temp\unterverzeichnis_neu\DB2GW005\TEST_ME\]
[3][db2java.zip] [d:\temp\unterverzeichnis_neu\Dbvisu\]


Ich erläutere mal diese Zeile:
for /f "delims=][ tokens=1,3" %i in (%lst%) do (....
Für alle Zeilen in der %lst%-Datei, also in meiner alldzips.txt...
...lese alle Zeilen...
...die Tokens sollen getrennt sein mit eckigen Klammern "[" und "]"...
...Ich will nur das erste und das dritte Token ..(Token2 ist ein Leerzeichen)

@find /n "%i" %lst%|@find /v "%j"|find /v /i "%lst%"

Erstes Find: Gib die Zeilennummer aus ("/n") für jede Fundstelle von Token1==Dateiname"
Zweites Find: lösch die Zeile aus dem Ergebnis, die exakt den gleichen Pfadnamen enthält
drittes Find: lösch alle Zeilen, die nur den Dateinamen Alldzips.txt enthalten.

Also..summa summarum - ein Batch lohnt sich eigentlich gar nicht... mit zwei runtergetippten Zeilen am Prompt ließe sich das alles lösen..

Als Batch:
Einfach die Zeilen oben übernehmen,
bei den Zählvariablen alle einfachen Prozentzeichen durch doppelte ersetzen,
und die Steuerzeichen maskieren..
Und für mydircmd einsetzen: dir c:\Ebooks\*.*

::------ snipp EbookSearch.bat
@echo off & setlocal
set "mydircmd=dir D:\ebooks\*.* /s /b"
Set "lst=alldzips.lst"
(for /f "delims=" %%i in ('%myDircmd%') do @echo [%%~nxi] [%%~dpi]) |sort>%lst%
for /f "delims=][ tokens=1,3" %%i in (%lst%) do @find /n "%%i" %lst%|@find /v "%%j"|find /v /i "%lst%"
::------snapp EbookSearch.bat

Thats all...
HTH Biber
Bitte warten ..
Mitglied: fugu
16.03.2006 um 14:15 Uhr
*schluck*

Moin Moin!
Also Biber, DAS muss ich mir in Ruhe antun ... heute Abend/Nacht!

Gaaanz viel Dankeschön erstmal. Ich poste später, ob ich damit klar gekommen bin

Greetz Fugu
Bitte warten ..
Mitglied: Biber
16.03.2006 um 14:32 Uhr
Moin fugu,

lass Dich nicht von der vielen Prosa abschrecken.

Tipp zur Probe einfach mal am CMD-Prompt ein:
(for /f "delims=" %i in ('dir d:\eBooks\*.* /s /b') do @echo [%~nxi] [%~dpi])|sort

...dann siehst Du ja, ob es in die richtige Richtung geht.
Der Rest ist ja nur Blendwerk *gg

Gruß Biber
Bitte warten ..
Mitglied: fugu
22.03.2006 um 13:10 Uhr
Moin Biber,

hat etwas gedauert, aber immerhin...
Hab mir das jetzt alles angeschaut und kann damit alles lösen, was ich möchte.

[Zitat]
"ein Batch lohnt sich eigentlich gar nicht... "
[Zitat Ende]

Für dich vielleicht nicht aber wer so wie ich die doch recht kryptischen DOS-Befehle nicht so drauf hat, ist es ganz angenehm für sowas 'ne "Gedächtnis-Stützen-Batch" zu haben.

Gruss und Danke (volle Punktzahl)

Fugu
Bitte warten ..
Ähnliche Inhalte
Python
Python - ausgabe formatieren
Frage von BadFsaadKlPython

Hallo zusammen, ich habe ein kleines Python Script geschrieben, welches als Ziel hat, mir alle Verfügbaren Lunix Updates anzuzeigen, ...

Windows Server
Powershell Ausgabe formatieren
gelöst Frage von makaroniWindows Server16 Kommentare

Guten Morgen zusammen, ich lesen aus einer Active Directory via Powershell User aus einer Gruppe aus und speicher diese ...

Batch & Shell
Batch für Textdatei - Sonderzeichen an bestimmter Stelle in fortlaufender Ausgabe
gelöst Frage von Steven123Batch & Shell4 Kommentare

Hallo Zusammen, ich habe ein Problem, bei dem ich nicht weiterkomme und Euere Hilfe benötige. Ich habe eine Textdatei, ...

Batch & Shell
Wieso ist die Catch Ausgabe ohne ausgabe der Variable?
gelöst Frage von pixel0815Batch & Shell10 Kommentare

Hallo zusammen, weshalb wird nicht die Variable $_.Hostname mit dem betreffenden nicht vorhandenen Record angezeigt? Ich erhalte immer Kein ...

Neue Wissensbeiträge
Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 3 StundenMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 16 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 23 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 1 TagWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
Frage von IngenieursBatch & Shell24 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1019 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...