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, 5792 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von jocheng zum Thema Batch & Shell ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...