
2495778799
14.04.2022, aktualisiert um 02:41:52 Uhr
Aus einer txt datei namen auslesen und jeweilige namen.txt mit Textinhalt erstellen
Hallo, ich benötige Hilfe bei einer Automatisierung.
Ich habe eine .txt Datei. Die sieht wie folgt ca. aus:
bsp. liste.txt
Gibt es die Möglichkeit mit einem Befehl die liste.txt Datei auszulesen und dementsprechend neue .txt Dateien zu erstellen?
Die neuen .txt sollten den Dateinamen der jeweiligen auszulesenden Zeile haben und jede .txt datei sollte einen immergleichen "XYZ" Inhalt haben.
Beispiel:
es werden eine "mainboard x570.txt", "nvidia rtx 3070.txt",... datei erstellt mit dem gleichen "XYZ" Inhalt.
Vielen Dank für die Hilfe
Ich habe eine .txt Datei. Die sieht wie folgt ca. aus:
bsp. liste.txt
Zeile1: mainboard x570
Zeile2: nvidia rtx 3070
Gibt es die Möglichkeit mit einem Befehl die liste.txt Datei auszulesen und dementsprechend neue .txt Dateien zu erstellen?
Die neuen .txt sollten den Dateinamen der jeweiligen auszulesenden Zeile haben und jede .txt datei sollte einen immergleichen "XYZ" Inhalt haben.
Beispiel:
es werden eine "mainboard x570.txt", "nvidia rtx 3070.txt",... datei erstellt mit dem gleichen "XYZ" Inhalt.
Vielen Dank für die Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2495886806
Url: https://administrator.de/forum/aus-einer-txt-datei-namen-auslesen-und-jeweilige-namen-txt-mit-textinhalt-erstellen-2495886806.html
Ausgedruckt am: 01.05.2025 um 15:05 Uhr
13 Kommentare
Neuester Kommentar

PowerShell
Batch
...
Get-Content "D:\datei.txt" | ?{$_ -notmatch "^\s*$"} | %{"XYZ" | Set-Content "D:\$_.txt)" }
@echo off
for /f "usebackq delims=" %%a in ("D:\datei.txt") do (>"D:\%%a.txt" echo XYZ)

Zitat von @looki-looki:
Kann man für XYZ Textinhalt auch mehrzeilige Sachen einfügen? Wenn z.b. 4 Absätze vorhanden sind, auch 4 übernommen werden.
Klar.Kann man für XYZ Textinhalt auch mehrzeilige Sachen einfügen? Wenn z.b. 4 Absätze vorhanden sind, auch 4 übernommen werden.
Get-Content "D:\datei.txt" | ?{$_ -notmatch "^\s*$"} | %{
@'
Zeile1
Zeile2
Zeile2
Zeile4
'@ | Set-Content "D:\$_.txt)"
}

Klar, einfach mehrere Echos ausgeben ... Hätte man ja gleich angeben können 🤔
@echo off
for /f "usebackq delims=" %%a in ("D:\datei.txt") do (
>"D:\%%a.txt" (
echo Zeile1
echo Zeile2
echo Zeile3
)
)

@echo off
set "scriptdir=%~dp0"
for /f "usebackq delims=" %%a in ("%scriptdir%liste.txt") do (
>"%scriptdir%%%a.txt" (
echo Zeile1
echo Zeile2
echo Zeile3
)
)

@echo off
set "scriptdir=%~dp0"
PowerShell -EP Bypass -C "Get-Content '%scriptdir%liste.txt' | ?{$_ -notmatch '^\s*$'} | %%{'Name: ' + ($_ -split '\d+').trim() | set-Content \"%scriptdir%$_.txt\"}"