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

Ausgabe der Dateien in einem Verzeichnis mit aktuellem Verzeichnisnamen davor

Frage Entwicklung Batch & Shell

Mitglied: ghosthacker

ghosthacker (Level 1) - Jetzt verbinden

20.09.2011, aktualisiert 18.10.2012, 2256 Aufrufe, 7 Kommentare

Hi Leute,

ich brauche eine Batch-Datei, die mir alle Dateien im aktuellen Verzeichnis in eine Textdatei schreibt - was weiter nicht das Problem wäre - und vor jeder Zeile noch den aktuellen Verzeichnisnamen setzt.

Ich krieg es hin, dass er mir alle Dateien im aktuellen Verzeichnis in ne Textdatei schreibt (
01.
dir /S /o:n /b  > datei.txt
) und ich kann auch den aktuellen Ordnernamen ermitteln (
01.
@for  %%i in (%cd:\=","%) do @set "lastDir=%%~i"
), aber ich krieg es nicht hin, dass er mir vor jede Zeile in der Textdatei noch "Ordnername\" schreibt (in der Textdatei natürlich ohne Anführungszeichen).

Kann mir einer von euch da evtl. bei helfen?

Lg ghosthacker
Mitglied: bastla
20.09.2011 um 18:12 Uhr
Hallo ghosthacker und willkommen im Forum!

So ganz kann ich das Problem nicht nachvollziehen - wenn Du schon "%lastDir%" ermittelt hast (BTW: ich würde das eher so:
for %%i in (%cd%) do set "lastDir=%%~nxi"
machen), kannst Du das doch in der folgenden Schleife
for /f "delims=" %%i in ('dir /b /on /a-d') do >>datei.txt echo %lastDir%\%%i
mit ausgeben lassen ...

[Edit] Falls das "dir /s ..." ernst gemeint war (und ich das Ganze richtig verstehe), dann ev so:
for /f "delims=" %%i in ('dir /s /b /a-d') do for %%a in ("%%~i\..") do >>datei.txt echo %%~nxa\%%~nxi
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: ghosthacker
20.09.2011 um 18:24 Uhr
mein problem war, dass ich keine ahnung hatte, wie ich es hinkriege, dass der mir das in jeder zeile nochmal davorschreibt und nicht nur am anfang.... so ganz versteh ich deinen code zwar auch nicht, aber er funktioniert :D.

ich muss dazu vllt sagen, dass ich absoluter batch-neuling bin und auch das mit dem aktuellen ordnernamen schon ergoogeln musste.... das mit der dateiausgabe hab ich allerdings noch selbst hingekriegt :D
Bitte warten ..
Mitglied: bastla
20.09.2011, aktualisiert 18.10.2012
Hallo ghosthacker!
so ganz versteh ich deinen code zwar auch nicht
Ein unhaltbarer Zustand ...

Die zweite Schleife macht ja nix anderes, als die Ausgabe des
dir /b /on /a-d
also des sortierten Inhaltsverzeichnisses nur der Dateien, zeilenweise zu verarbeiten (wobei durch "delims=" erreicht wird, dass bei ev vorkommenden Leerzeichen nicht abgeschnitten wird) - dann kann die jeweilige Zeile entsprechend ergänzt werden.

Mehr zur Thematik findest Du in Friemlers Tutorial zur FOR-Schleife ...

Grüße
bastla
Bitte warten ..
Mitglied: ghosthacker
20.09.2011 um 18:51 Uhr
mir ist grade aufgefallen, dass - wenn im ordnernamen leerzeichen enthalten sind, das ganze nicht mehr funktioniert - müsste das dann nicht auch mit delims gehen?
mein batchcode sieht im moment so aus:

01.
for %%i in (%cd%) do set "lastDir=%%~nxi" 
02.
for /f "delims=" %%i in ('dir /b /on /a-d *.mp3') do >>%lastDir%.m3u echo %lastDir%\%%i
das ganze dient dazu, für einen ordner, in dem mp3 dateien sind, eine m3u wiedergabeliste zu erstellen...

lg ghosthacker
Bitte warten ..
Mitglied: bastla
20.09.2011 um 18:56 Uhr
Hallo ghosthacker!

So sollte es besser gehen:
01.
for %%i in ("%cd%") do set "lastDir=%%~nxi" 
02.
for /f "delims=" %%i in ('dir /b /on /a-d *.mp3') do >>"%lastDir%.m3u" echo %lastDir%\%%i
Grüße
bastla

P.S.: Verwende doch bitte die passende Formatierung für Deine Code-Schnipsel (lässt sich auch noch nachholen ) ...
Bitte warten ..
Mitglied: ghosthacker
20.09.2011 um 19:13 Uhr
Vielen Dank, so funktioniert das einwandfrei .

Das mit den Codeschnipseln tut mir leid, ich wusste nicht, dass ihr auch so eine Funktion habt - kannte das bisher nur vom Java-Forum, hol ich sofort nach.

Lg ghosthacker
Bitte warten ..
Mitglied: Skyemugen
20.09.2011 um 23:14 Uhr
[OT]Aloha und auch willkommen im Forum!
Zitat von ghosthacker:
Das mit den Codeschnipseln tut mir leid, ich wusste nicht, dass ihr auch so eine Funktion habt - kannte das bisher nur vom Java-Forum, hol ich sofort nach.
Ich möchte an dieser Stelle einfach mal offtopic werden und sagen: Super! Ein Mann, ein Wort und verstanden wurde es auch, was bin ich froh, dass es noch Leute gibt, die Funktionen auch sinnvoll zu nutzen wissen, sehr schön - wenn doch nur viele Neueinsteiger hier so handeln würden *träum*

greetz André [/OT]
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...