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

Ordner auslesen ohne Subdirectories

Frage Entwicklung Batch & Shell

Mitglied: tkline

tkline (Level 1) - Jetzt verbinden

04.05.2008, aktualisiert 05.05.2008, 5796 Aufrufe, 7 Kommentare

Hi Leute,


Hab folgendes Problem:


Ich möchte eine Auswertung von Textdateien, die sich in bestimmten Ordnern befinden.
Diese Ordner entalten jedoch auch Unterordner, die auch wieder textfiles beinhalten.
Das Skript das ich benötige soll mir allerdings nicht diese Unterordner mit auswerten, sonder nur die
im angegebenen Ordner befindlichen Dateien (siehe Skript).
Wäre nicht schlecht wenn ich bei der Auswertung noch eine Pfadangabe mit ausgeben könnte.

Beispiel vom Ordneraufbau: (Ordnernamen können sich ändern)


Hauptordner\Ordner1
Hauptordner\Ordner2\05
Hauptordner\Ordner2\04
Hauptordner\Ordner3\06
Hauptordner\Ordner4\08
Hauptordner \Ordner4\08\04
.....


Habe bereits folgendes Skript geschrieben:

01.
dir C:\Hauptordner\Ordner1 /W /A:-D /B /-C /O:N  > C:\summary.txt 
02.
dir C:\Hauptordner\Ordner2\04 /A:-D /B /-C /O:N /4 >> C:\summary.txt 
03.
dir C:\Hauptordner\Ordner3\ /A:-D /B /-C /O:N /4 >> C:\summary.txt 
04.
dir C:\Hauptordner\Ordner4\08\ /A:-D /B /-C /O:N /4 >> C:\summary.txt
Ergebnis der Batchabfrage:

Ordner1 Dateien.txt
Ordner2_04 Dateien.txt
Ordner3 Dateien.txt
Ordner8 Dateien.txt


Denke das Ergebnis schaut ganz gut aus oder was meint ihr?
Bräuchte jetzt allerdings noch die Pfadangabe in der Ergebnisdatei.


Danke euch


Tom
Mitglied: miniversum
04.05.2008 um 12:07 Uhr
Wenn ich dein Vorhaben richtig verstehe würde es so gehen:
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner1 /A /B /O:N') do echo %%~fi > C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner2\04 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner3 /A /B /O:N') do echo %%~fi >> C:\summary.txt
FOR /F "delims=" %%i in ('dir C:\Hauptordner\Ordner4\08\ /A /B /O:N') do echo %%~fi >> C:\summary.txt

Die Optionen /W /-C machen in Kombination mit /B keinen Sinn und kann man deshalb weglassen.
Bitte warten ..
Mitglied: bastla
04.05.2008 um 12:25 Uhr
@miniversum
Das wird so nicht funktionieren, da ein "dir /b" ohne "/s" nur Dateinamen und Extension, aber keine Pfadangabe liefert - für die Ausgabe mit %%~fi wird als Pfad %cd% verwendet ...

@tkline
Da Du ohnehin die auszugebenden Ordner einmal eingeben musst, könntest Du diese gleich zeilenweise in eine Datei (zB "C:\Ordnerliste.txt") eintragen - der Batch dazu sähe dann etwa so aus:
01.
@echo off & setlocal 
02.
if exist C:\summary.txt del C:\summary.txt 
03.
for /f "delims=" %%i in (C:\Ordnerliste.txt) do ( 
04.
	pushd "%%i" 
05.
	for /f "delims=" %%a in ('dir /b /a-d /on 2^>nul') do echo %%i\%%a >>C:\summary.txt 
06.
	popd 
07.
)
Grüße
bastla

P.S: @miniversum: Lustiger Batch ...
Bitte warten ..
Mitglied: miniversum
04.05.2008 um 12:57 Uhr
@miniversum
Das wird so nicht funktionieren, da ein
"dir /b" ohne "/s" nur
Dateinamen und Extension, aber keine
Pfadangabe liefert - für die Ausgabe mit
%%~fi wird als Pfad %cd% verwendet ...

Ja sowas kann vorkommen wenn man was ungetestetes postet...

P.S: @miniversum: Lustiger Batch ...

Ach verdammt... hab mir das Posting hinterher nichtmal mehr angeschaut...
Bitte warten ..
Mitglied: tkline
05.05.2008 um 12:56 Uhr
Danke euch erstmal für eure Lösungvorschläge.

@bastla: Dein Lösungsansatz gefällt mir ganz gut, nur wäre es mir am liebsten, ich
bräuchte nur ein Batchfile. Aber so ist es auch OK

Danke

Tom
Bitte warten ..
Mitglied: Biber
05.05.2008 um 12:59 Uhr
@bastla: Dein Lösungsansatz gefällt mir ganz gut, nur wäre es mir am liebsten, ich
bräuchte nur ein Batchfile. Aber so ist es auch OK

Ich brauch jetzt auch erstmal eine Pause.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
05.05.2008 um 13:05 Uhr
Hallo tkline!

Na wenn Du meinst:
01.
@echo off & setlocal 
02.
if exist C:\summary.txt del C:\summary.txt 
03.
for %%i in ("C:\Hauptordner\Ordner1" "C:\Hauptordner\Ordner2" "C:\Hauptordner\Ordner3" "C:\Hauptordner\Ordner4\08") do ( 
04.
	pushd "%%i" 
05.
	for /f "delims=" %%a in ('dir /b /a-d /on 2^>nul') do echo %%i\%%a >>C:\summary.txt 
06.
	popd 
07.
)
Grüße
bastla
Bitte warten ..
Mitglied: tkline
05.05.2008 um 19:07 Uhr
Jap, das isses.

Danke Dir.

Jetzt glaub ich brauchen wir alle ne Pause
(Konnte es mir jetzt nicht verkneifen - Grüße an Biber.
Dank Biber hab ich meinen etwas schrägen Satzbau auch bemerkt
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Dateien im Ordner auslesen und umbennen (10)

Frage von jocheng zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...