lalala
Goto Top

Batch erstellt Textdatei, Dateiendungen sollen nicht übertragen werden

Hallo,

ich habe mir einen praktischen Batcheinzeiler erstellt, der automatisch verschiedene Dateinamen in einem Verzeichnis ausliest, alphabetisch sortiert und dann in eine .txt ausgibt. Gibt es eine Möglichkeit das nur der Dateiname ohne die Dateiendung übertragen wird, das also in der .txt am Ende nur noch steht

dateiname1
dateiname2
dateiname3

und NICHT

dateiname1.dateiendung
dateiname2.dateiendung
dateiname3.dateiendung

Ich finde einfach die Lösung nicht, ist das nicht möglich per Batch?

Content-Key: 64879

Url: https://administrator.de/contentid/64879

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: bastla
bastla 27.07.2007 um 20:25:17 Uhr
Goto Top
Hallo Lalala und willkommen im Forum!

Es wäre natürlich etwas einfacher, wenn Du Deinen Batch gepostet hättest, daher nur ganz grundsätzlich: Wenn Du die Dateinamen mit einer "for"-Schleife ausliest, kannst Du mit der Schreibweise "%%~ni" nur den Namensbestandteil (ohne Pfad und ohne Extension) erhalten, also etwa
for %%i in (D:\*.txt) do @echo %%~ni
Näheres dazu findest Du am Ende des entsprechenden Hilfetextes ("for /?").

Grüße
bastla

P.S.: Falls Du das direkt an der Kommandozeile testen willst, jeweils nur ein "%" verwenden.
Mitglied: Isias83
Isias83 27.07.2007 um 22:21:26 Uhr
Goto Top
Hallo bastla,


ich bin auch neu und habe ein ähnliches Problem, ich bin nun bis zur for Zeile vorgedrungen, die Batch läuft auch korrekt durch, allerdings wird nur der letzte Dateiname in meine dateiname.txt geschrieben. Wenn also 7 Dateien im Verzeichnis liegen, erhalte ich zum Schluß eine dateiname.txt mit nur dem letzten Dateinamen korrekt ohne Extension.

Hier mal die Batch:
@echo off
echo Text Text Text.
pause
for %%i in ('dir /O n /b *.bsp) do @echo %%~ni >dateiname.txt
Was mache ich falsch?

Mfg

Isias83
Mitglied: bastla
bastla 27.07.2007 um 22:25:34 Uhr
Goto Top
Hallo Isias83 und auch Dir ein Willkommen hier im Forum!

Die "for"-Schleife liefert einzelne Dateinamen, daher musst Du die Ausgabe des "echo"-Befehls an die "dateiname.txt" anhängen, indem Du ">>" anstatt nur ">" schreibst.

Grüße
bastla
Mitglied: Isias83
Isias83 27.07.2007 um 22:41:47 Uhr
Goto Top
Merci bastla, das wars, jetzt klappts. Danke dir!