Zeilen von txt datein mit batch verändern
Ich schreibe im moment an einem Batch Programm, was aus einer .txt datei (struk.txt)
darein sich befinden Pfade zeilenweise ausliest und alle Datein die gefunden werden in die Datei (Temp.txt) gelegt werden.
Mein problem war, dass durch diesen Befehl:
Auch Ordner Pfade in der Datei temp.txt lagen.
Das hab ich so gelöst:
//Die 2. for schleife Löscht nur die beiden obersten Zeilen da der Befehl "find" leider ein paar rückstände hinterläst.
Jezt habe ich eine Datei (tempb.txt) wo alle Datein drinnen stehen.
Leider hat die Datei 2 Fehler
1. Vor jeder Zeile steht eine "[Zahl]" in den eckigen Klammern ist eine 1-4 stellige Zahl.
Ich würde gerne die komplette Klammer mit Zahl die vor dem Pfad steht in jeder zeile Löschen.
2. Wenn ein "." sich in einem Ordnernamen, werden die Namen auch mitgeschrieben.
So bis dahin wären das meine Probleme und Ich danke für jede Unterstützung bei der Lösung
Lg Darkprodukt
darein sich befinden Pfade zeilenweise ausliest und alle Datein die gefunden werden in die Datei (Temp.txt) gelegt werden.
Mein problem war, dass durch diesen Befehl:
type >%TEMP%\temp.txt
for /F %%i in ('type "Struk.txt"') do (dir /d %%i /b /s >>%TEMP%\temp.txt)
Das hab ich so gelöst:
type >tempa.txt
for /F "delims=þ" %%i in ('find /N "." %TEMP%\temp.txt') do (
echo %%i>>%TEMP%\tempa.txt && type >%TEMP%\tempb.txt
)
for /F "skip=2 delims=þ" %%i in ('type %TEMP%\tempa.txt') do (
echo %%i>>%TEMP%\tempb.txt && del %TEMP%\tempa.txt
)
Jezt habe ich eine Datei (tempb.txt) wo alle Datein drinnen stehen.
Leider hat die Datei 2 Fehler
1. Vor jeder Zeile steht eine "[Zahl]" in den eckigen Klammern ist eine 1-4 stellige Zahl.
Ich würde gerne die komplette Klammer mit Zahl die vor dem Pfad steht in jeder zeile Löschen.
2. Wenn ein "." sich in einem Ordnernamen, werden die Namen auch mitgeschrieben.
So bis dahin wären das meine Probleme und Ich danke für jede Unterstützung bei der Lösung
Lg Darkprodukt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180393
Url: https://administrator.de/contentid/180393
Ausgedruckt am: 08.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
moin Darkprodukt,
Willkommen im Forum.
Wenn Du mit dir Nur die Dateien ausgeben willst, welche keine anderen Attribute haben, nimmst Du die Option /a-s-h-d.
Sobald Du die Option /b nimmst werden aber auch alle Zusatzoptionen wie /D /L /N /W /R /X nicht angezeigt.
nimm diese Schleife
Gruß Phil
Willkommen im Forum.
Wenn Du mit dir Nur die Dateien ausgeben willst, welche keine anderen Attribute haben, nimmst Du die Option /a-s-h-d.
Sobald Du die Option /b nimmst werden aber auch alle Zusatzoptionen wie /D /L /N /W /R /X nicht angezeigt.
nimm diese Schleife
(
for /f "usebackq delims=" %%i in ("Struck.txt") do >&3 dir /a-s-h-d /b /s "%%~i"
) 3>> "D:\Neue Datei"
Gruß Phil
Hmm, das gehört in eine neue Frage.
Wie Du Texte respektive Pfade/Dateien zerlegst, hast Du in der schönen Anleitung Tutorial zur FOR-Schleife von @Friemler beschrieben.
Gruß Phil
Wie Du Texte respektive Pfade/Dateien zerlegst, hast Du in der schönen Anleitung Tutorial zur FOR-Schleife von @Friemler beschrieben.
Gruß Phil