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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64879
Url: https://administrator.de/forum/batch-erstellt-textdatei-dateiendungen-sollen-nicht-uebertragen-werden-64879.html
Ausgedruckt am: 22.12.2024 um 06:12 Uhr
4 Kommentare
Neuester Kommentar
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
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.
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
Grüße
bastla
P.S.: Falls Du das direkt an der Kommandozeile testen willst, jeweils nur ein "%" verwenden.
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
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