Anpassung Script Text in bestimmten Dateitypen suchen, ersetzen und speichern
Hallo zusammen,
vor langer Zeit wurde von bastla ein Script erstellt, welches bei bestimmten Dateitypen (kann man frei einstellen) nach Text sucht, diesen ersetzt und die Daten dann abspeichert. Der Quellcode von damals war folgender:
(Text-Deien öffnen, ein Wort suchen und nach Bedingungsprüfung ein anderes Wort ersetzen)
Ich habe das Script für meine Bedürfnisse angepasst und es funktioniert auch sehr gut!
Meine Fragen sind nun:
1. Kann ich die absolute Angabe des Pfads verändern, so dass er komplette Verzeichnisse auf dem Server inkl. aller Unterordner macht (z.B. in \\S01\Produktiv inkl. aller Unterordner) ?
2. Kann man das Script so erweitern, dass nach Ausführung des Script eine Meldung erscheint, wie viele Dateien bearbeitet wurden und ob es eventuell Fehler gab?
Danke schonmal vielmals.
Gruß
lordofremixes
vor langer Zeit wurde von bastla ein Script erstellt, welches bei bestimmten Dateitypen (kann man frei einstellen) nach Text sucht, diesen ersetzt und die Daten dann abspeichert. Der Quellcode von damals war folgender:
@echo off & setlocal
set "Ordner=D:\Vertretungen"
set "Typ=html"
set "Von=x.css"
set R=%temp%\ReplaceIt.vbs
>%R% echo Set a=WScript.Arguments:Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(a(0)).ReadAll:fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2))
pushd "%Ordner%"
for /f "delims=" %%i in ('dir /b /a-d *.%Typ%') do call :ProcessFile "%%i"
popd
pause
goto :eof
:ProcessFile
set "Nach="
findstr /i c:"Vertretungsplan für Mo" %1>nul && set "Nach=Mo.css"
findstr /i c:"Vertretungsplan für Di" %1>nul && set "Nach=Di.css"
findstr /i c:"Vertretungsplan für Mi" %1>nul && set "Nach=Mi.css"
findstr /i c:"Vertretungsplan für Do" %1>nul && set "Nach=Do.css"
findstr /i c:"Vertretungsplan für Fr" %1>nul && set "Nach=Fr.css"
if not defined Nach echo Nicht bearbeitet: %1 & goto :eof
cscript //nologo %R% %1 "%Von%" "%Nach%"
echo Bearbeitet: %1
goto :eof
(Text-Deien öffnen, ein Wort suchen und nach Bedingungsprüfung ein anderes Wort ersetzen)
Ich habe das Script für meine Bedürfnisse angepasst und es funktioniert auch sehr gut!
Meine Fragen sind nun:
1. Kann ich die absolute Angabe des Pfads verändern, so dass er komplette Verzeichnisse auf dem Server inkl. aller Unterordner macht (z.B. in \\S01\Produktiv inkl. aller Unterordner) ?
2. Kann man das Script so erweitern, dass nach Ausführung des Script eine Meldung erscheint, wie viele Dateien bearbeitet wurden und ob es eventuell Fehler gab?
Danke schonmal vielmals.
Gruß
lordofremixes
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 214757
Url: https://administrator.de/forum/anpassung-script-text-in-bestimmten-dateitypen-suchen-ersetzen-und-speichern-214757.html
Ausgedruckt am: 02.04.2025 um 03:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo lordofremixes!
Ungetestet etwa so:
Grüße
bastla
Ungetestet etwa so:
@echo off & setlocal
set "Ordner=\\S01\Produktiv"
set "Typ=html"
set "Von=x.css"
set /a Anzahl=0
set R=%temp%\ReplaceIt.vbs
>%R% echo Set a=WScript.Arguments:Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(a(0)).ReadAll:fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2))
for /f "delims=" %%i in ('dir /s /b /a-d *.%Typ%') do call :ProcessFile "%%i"
echo %Anzahl% Dateien bearbeitet
pause
goto :eof
:ProcessFile
set "Nach="
findstr /i c:"Vertretungsplan für Mo" %1>nul && set "Nach=Mo.css"
findstr /i c:"Vertretungsplan für Di" %1>nul && set "Nach=Di.css"
findstr /i c:"Vertretungsplan für Mi" %1>nul && set "Nach=Mi.css"
findstr /i c:"Vertretungsplan für Do" %1>nul && set "Nach=Do.css"
findstr /i c:"Vertretungsplan für Fr" %1>nul && set "Nach=Fr.css"
if not defined Nach echo Nicht bearbeitet: %1 & goto :eof
cscript //nologo %R% %1 "%Von%" "%Nach%"
echo Bearbeitet: %1
set /a Anzahl+=1
goto :eof
bastla