Dateinamen einer Textdatei aus der ersten Zeile erzeugen und zusätzlich Datei kopieren
Hallo, wieder mal eine kleine Frage.
Ich möchte per batch eine TXT Datei umbenennen, 2 mal an anderen Ort kopieren und Ursprungsdatei löschen.
Es sollen beide neuen Dateien auf in ein anderes Verzeichnis abgelegt werden, wobei der neue Name der Inhalt der ersten Zeile der Ursprungsdatei sein soll.
Einmal soll die Endung txt sein, einmal csv.
Beispiel:
Die Datei hat ursprünglich den Namen Test.txt und liegt auf C:\Temp\
Die erste Zeile der mehrzeiligen Datei hat den Inhalt "Mayer"
Nun sollen die neuen Dateien
Mayer.txt und Mayer.csv lauten und auf C:\Test\ gespeichert werden.
Die Ursprungsdatei soll auf C:\Temp soll gelöscht werden.
Wie kann man das lösen?
Gruß viking
Ich möchte per batch eine TXT Datei umbenennen, 2 mal an anderen Ort kopieren und Ursprungsdatei löschen.
Es sollen beide neuen Dateien auf in ein anderes Verzeichnis abgelegt werden, wobei der neue Name der Inhalt der ersten Zeile der Ursprungsdatei sein soll.
Einmal soll die Endung txt sein, einmal csv.
Beispiel:
Die Datei hat ursprünglich den Namen Test.txt und liegt auf C:\Temp\
Die erste Zeile der mehrzeiligen Datei hat den Inhalt "Mayer"
Nun sollen die neuen Dateien
Mayer.txt und Mayer.csv lauten und auf C:\Test\ gespeichert werden.
Die Ursprungsdatei soll auf C:\Temp soll gelöscht werden.
Wie kann man das lösen?
Gruß viking
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 148540
Url: https://administrator.de/forum/dateinamen-einer-textdatei-aus-der-ersten-zeile-erzeugen-und-zusaetzlich-datei-kopieren-148540.html
Ausgedruckt am: 10.01.2025 um 11:01 Uhr
6 Kommentare
Neuester Kommentar
Moin viking,
hier als ausfühlicher Batch
Edit 2. Ordner entfernt /Edit
[Edit2]Batch Korrigiert - Ein Anführungszeichen entfernt[/Edit2]
Gruß Phil
hier als ausfühlicher Batch
setlocal
set "Dateiordner=C:\Temp"
set Datei="Test.txt"
set "1stOrdner=C:\Test"
set "1stExt=.txt"
set "2ndExt=.csv"
pushD "%DateiOrdner%"
for %%i in (%Datei%) do (set /p Zeile=<"%%~i"
set Name="%%~i"
setlocal enabledelayedexpansion
copy !Name! "!1stOrdner!\!Zeile!!1stExt!"
copy !Name! "!1stOrdner!\!Zeile!!2ndExt!"
del !Name!
endlocal
)
popD
Edit 2. Ordner entfernt /Edit
[Edit2]Batch Korrigiert - Ein Anführungszeichen entfernt[/Edit2]
Gruß Phil
@ph
Eigentlich ist die Schleife für eine einzelne Datei etwas überdimensioniert - so würde es mE auch reichen:
Grüße
bastla
Eigentlich ist die Schleife für eine einzelne Datei etwas überdimensioniert - so würde es mE auch reichen:
@echo off & setlocal
set Datei="C:\Temp\Test.txt"
set "Ziel=C:\Test"
set "Ext1=.txt"
set "Ext2=.csv"
set /p Neu=<"%Datei%"
copy "%Datei%" "%Ziel%\%Neu%%Ext1%">nul && move "%Datei%" "%Ziel%\%Neu%%Ext2%"
bastla
[OT]
@it-frosch
Danke für die Blumen, und schön, wenn Du etwas damit anfangen kannst ...
Grüße
bastla
[/OT]
@it-frosch
Danke für die Blumen, und schön, wenn Du etwas damit anfangen kannst ...
Grüße
bastla
[/OT]