2495778799

Stelle in txt Datei durch Dateinamen ersetzen

Hallo ich benötige Hilfe bei einer Automatisierung.

Ich habe in einem Ordner mehrere txt Dateien.

Kann man eine Batch Datei erstellen, die jeweils für ein bestimmtes Wort in der .txt Datei die Stelle mit dem jeweiligen Dateinamen ersetzt?

Bsp:
Ordner Test:
name1.txt
name2.txt
name3.txt

in jeder .txt datei steht dann zum beispiel an einer bestimmten stelle "austragen". Dieses Wort soll dann mit dem jeweiligen Dateinamen ersetzt werden.

Vielen Dank für die Hilfe
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 2510871348

Url: https://administrator.de/forum/stelle-in-txt-datei-durch-dateinamen-ersetzen-2510871348.html

Ausgedruckt am: 01.05.2025 um 14:05 Uhr

1915348599
Lösung 1915348599 17.04.2022 aktualisiert um 11:06:07 Uhr
Goto Top
Suchfunktion benutzen kommt hier täglich ...
@echo off
set "folder=d:\test"  
PowerShell -EP ByPass -C "dir '%folder%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace 'austragen',$_.Name | sc $_.Fullname}"  
2495778799
2495778799 17.04.2022 um 14:06:24 Uhr
Goto Top
Vielen Dank es klappt hervorragend. face-big-smile

und weil ich mit deiner Hilfe die Programmiersprache lerne habe ich den wie folgt angepasst*:
@echo off
set "scriptdir=%~dp0"  
PowerShell -EP ByPass -C "dir '%scriptdir%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace 'austragen',$_.Name | sc $_.Fullname}"  
face-smileface-smileface-smile

*Es werden jetzt automatisch alle .txt dateien inerhalb des Ordners verwendet in der sich die Batch Datei befindet.
2495778799
2495778799 20.04.2022 um 22:44:48 Uhr
Goto Top
Zitat von @1915348599:
@echo off
set "folder=d:\test"  
PowerShell -EP ByPass -C "dir '%folder%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace 'austragen',$_.Name | sc $_.Fullname}"  
Kann man bezüglich der Suchen und ersetzten Funktion eine weitere Suche integrieren oder muss man diese mit einer neuen Zeile PowerShell -EP ByPass.... eingeben?
@echo off
set "scriptdir=%~dp0"  
PowerShell -EP ByPass -C "dir '%scriptdir%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace 'austragen',$_.Name | sc $_.Fullname}"  
PowerShell -EP ByPass -C "dir '%scriptdir%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace '1111','Numer1' | sc $_.Fullname}"  
PowerShell -EP ByPass -C "dir '%scriptdir%' -file -Filter *.txt | %%{(gc $_.Fullname) -replace '2222','Numer2' | sc $_.Fullname}"  
Vielen Dank für die Hilfe