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

txt mit Pfaden auslesen, Unterordner erkennen und in .txt sichern

Frage Entwicklung Batch & Shell

Mitglied: Soidberg

Soidberg (Level 1) - Jetzt verbinden

05.05.2007, aktualisiert 07.05.2007, 5192 Aufrufe, 5 Kommentare

Hallo liebe User, liebes Team,

ich habe hier eine .txt Datei mit folgenden Aufbau:

~~~
C:\Fotos2006
F:\Fotos2007 Januar
~~~

Primäre Aufgabe / Ziel:
Ich benötige eine .bat die diese .txt ausliest und mir von den darin enthaltenen Pfaden ausgehend, alle Unterordner erkennt und mir eine komplette Liste in .txt speichert.

In diesem Fall würde das Ergebnis so aussehen:

C:\Fotos2006
C:\Fotos2006\Januar
C:\Fotos2006\Februar

F:\Fotos2007 Januar
F:\Fotos2007 Januar\Hildesheim
F:\Fotos2007 Januar\Hannover


Liebe Grüße Soidberg
Mitglied: bastla
05.05.2007 um 19:45 Uhr
Hallo Soidberg!

Sollte etwa so gehen:
01.
@echo off & setlocal 
02.
set "Quelldatei=D:\Ordnerliste.txt" 
03.
set "Zieldatei=D:\AlleOrdner.txt" 
04.
if exist "%Zieldatei%" del "%Zieldatei%" 
05.
for /f "usebackq delims=" %%i in ("%Quelldatei%") do call :ProcessFolder "%%i" 
06.
goto :eof 
07.
:ProcessFolder 
08.
echo %~1>>"%Zieldatei%" 
09.
dir /b /s /ad %1>>"%Zieldatei%" 
10.
echo.>>"%Zieldatei%"
Grüße
bastla
Bitte warten ..
Mitglied: Soidberg
05.05.2007 um 23:08 Uhr
Hy,

es ist ein Problem aufgetreten. Ich habe mich im Aufbau der Quelldatei geirrt.

Die Quelldatei ist (leider Gottes) so augebaut:

~~~

C:\Fotos2006,Eure Bilder 2006
F:\Fotos2007 Januar, Eure Bilder 2007

~~~

Erklärung:

Der Server vergibt virtuelle Pfade mit eigenen Bezeichnungen. In unserem Fall hier trägt der Pfad:

"C:\Fotos2006" in der Weboberfläche die Bezeichnung "Eure Bilder 2006", der zweite Pfad demnach:

"F:\Fotos2007 Januar" mit dem Namen "Eure Bilder 2007".

Es müsste also das Komma und nachfolgende Zeichen gelöscht werden damit dein Lösungansatz funktioniert. Da die original Quelldatei nicht bearbeitet werden darf, muss diese also erst kopiert werden (das bekomme ich alleine hin ;0)), dann editiert und dann weiter durch die Batch bearbeitet (Auflistungsvorgang) werden.

Ist es zusätzlich möglich die ausgegebene AlleOrdner.txt optisch anzupassen? Es wäre sehr nützlich wenn die Hauptordner und deren Unterordner in einem Block und andere Hauptordner mit einem Absatz eingetragen werden. So wäre es optisch leichter zu verfolgen, Beispiel:

~~~
C:\Fotos2006
C:\Fotos2006\Januar
C:\Fotos2006\Februar
<----ABSATZ---->
F:\Fotos2007 Januar
F:\Fotos2007 Januar\Hildesheim
F:\Fotos2007 Januar\Hannover
~~~

Liebe Grüße Soidberg
Bitte warten ..
Mitglied: bastla
06.05.2007 um 10:02 Uhr
Hallo Soidberg!

Zum Abschneiden des Kommas sowie des darauf folgenden Teiles der Zeile musst Du nur in der "for"-Zeile "delims=," schreiben (ohne die Ordnerliste zu verändern). Voraussetzung ist, dass der Pfad selbst kein Komma enthält, da eben inklusive des ersten gefundenen Kommas der Rest der Zeile ignoriert wird.
Zur Optik: Ich weiß nicht wirklich, was Du unter einem "Absatz" verstehst - derzeit wird bereits mit "echo." (letzte Zeile) nach jedem Block eine Leerzeile erzeugt. Mit weiteren/anderen "echo"-Befehlen (natürlich jeweils mit >>"%Zieldatei%", um in die Ausgabedatei zu schreiben) kannst Du die Trennung zwischen den Blöcken selbst gestalten.

Grüße
bastla
Bitte warten ..
Mitglied: Soidberg
07.05.2007 um 00:28 Uhr
Zur Optik: Ich weiß nicht wirklich,
was Du unter einem "Absatz"
verstehst - derzeit wird bereits mit
"echo." (letzte Zeile) nach jedem
Block eine Leerzeile erzeugt. Mit
weiteren/anderen "echo"-Befehlen
(natürlich jeweils mit
>>"%Zieldatei%", um in
die Ausgabedatei zu schreiben) kannst Du die
Trennung zwischen den Blöcken selbst
gestalten.

Grüße
bastla

Hy,

erstmal vielen Dank, jetzt funktioniert alles soweit sehr gut.

Die Quelldatei sieht so aus:
~~~
C:\testordner,testordner 1
C:\testordner2,testordner 2
~~~

Die Auflistung durch deine .bat so:

~~~
C:\testordner

C:\testordner2

C:\testordner
C:\testordner\Neuer Ordner
C:\testordner\Neuer Ordner\Neuer Ordner
C:\testordner\Neuer Ordner\Neuer Ordner\Neuer Ordner

C:\testordner2
C:\testordner2\Neuer Ordner
C:\testordner2\Neuer Ordner\Neuer Ordner
C:\testordner2\Neuer Ordner\Neuer Ordner\Neuer Ordner
~~~

Die Absätze stimmen jetzt und sind genauso wie ich Sie brauche, allerdings stört mich die doppelte Aufführung (oben fett geschrieben) etwas. Kann man da noch etwas machen? Am schluss sollte es so aussehen:

~~~
C:\testordner
C:\testordner\Neuer Ordner
C:\testordner\Neuer Ordner\Neuer Ordner
C:\testordner\Neuer Ordner\Neuer Ordner\Neuer Ordner

C:\testordner2
C:\testordner2\Neuer Ordner
C:\testordner2\Neuer Ordner\Neuer Ordner
C:\testordner2\Neuer Ordner\Neuer Ordner\Neuer Ordner
~~~

Grüße aus der Nachtschicht...

Soidberg
Bitte warten ..
Mitglied: Soidberg
07.05.2007 um 01:33 Uhr
So, für heute langt es mir und Euch (mit mir) wahrscheinlich auch *grins*

Ich hatte Deinen "if exist" Befehl ausgeklammert und das hier:

C:\testordner

C:\testordner2

waren noch alte "Testdaten", somit wurde die neue Auflistung hinzugefügt und es ergab sich das obige Bild.

*Jetzt nach genauem hinsehen und dem wieder eingliedern des Befehles funktioniert alles und sieht auch aus wie gewollt.*

Mein Problem wurde also gelöst, hier der fertige, komplette Code:

01.
@echo off & setlocal 
02.
pushd %CD% 
03.
cd..\.. 
04.
copy dir.cfg "%CD%\Plugins\Packstation Step 1\dir.cfg" 
05.
popd 
06.
 
07.
set "Quelldatei=%CD%\dir.cfg" 
08.
set "Zieldatei=%CD%\Packbare Ordner.rtf" 
09.
if exist "%Zieldatei%" del "%Zieldatei%"  
10.
for /f "usebackq delims=," %%i in ("%Quelldatei%") do call :ProcessFolder "%%i" 
11.
goto :eof 
12.
:ProcessFolder 
13.
echo %~1>>"%Zieldatei%" 
14.
dir /b /s /ad %1>>"%Zieldatei%" 
15.
echo.>>"%Zieldatei%" 
16.
del "%CD%\dir.cfg"
Vielen lieben Dank für die ausdauernde Hilfe.

Nette Grüße Soidberg
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mit Batch .txt auslesen und benutzen
gelöst Frage von GhostJumperHDBatch & Shell8 Kommentare

Ich habe folgendes Problem Ich möchte das W-Lan überlasten und möchte danach die .bat zur .exe umwandeln. Ich möchte ...

Batch & Shell
Txt auslesen zähler hinzufügen
gelöst Frage von NewNoobBatch & Shell9 Kommentare

Und zwar möchte ich eine batch schreiben in dem ich alle verknüpfungen suche und dann lösche ausser in bestimmten ...

Batch & Shell
Unbekannte Zeichenkette aus txt mit Zeilenangabe auslesen
gelöst Frage von IForeverBatch & Shell4 Kommentare

Hallo Community :) Nach über 4 Stunden herum probieren habe ich es aufgegeben und muss hier um Rat bitten ...

Batch & Shell
Mit Batch gesamtes txt auslesen mit Leerzeichen?
Frage von DrMarksmanBatch & Shell2 Kommentare

Guten Tag. Ich habe mal wieder eine Frage und zwar würde ich gerne einen kompletten .txt File mit einem ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 6 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 11 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 11 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 23 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...