Script, das Textfiles untersucht und Textstellen automatisch ändert
Hallo zusammen,
ich habe hier folgendes Script (auch aus dem administrator.de Forum ):
In dem Script kann man oben den Texttyp angeben (txt, rtf, html, Zeile 3), den zu suchenden Text(Zeile 4), und den zu ersetzenden Text (Zeile 16).
Funktioniert wirklich gut, habe aber noch folgende Frage:
Die zu suchenden Dateien liegen alle in diesen Verzeichnissen:
\\server1\profile\test\Signaturen
\\server1\profile\test2\Signaturen
\\server1\profile\test3\Signaturen
\\server1\profile\test4\Signaturen
\\server1\profile\test5\Signaturen
\\server1\profile\test6\Signaturen
Das Script, das mir jetzt vorliegt, durchsucht aber dann auch Ordner wie z.B.
\\server\profile\test6\Word-Dokumente und ändert da dann natürlich auch die Textstellen..
Wie bekomme ich es hin, dass das Script nur die Ordner Signaturen durchsucht und ändert und alle Unterordner \\server\profile\.. auslässt (also wirklich nur Änderungen in den Ordnern Signaturen)?
Bitte um Hilfe!
Gruß
lordofremixes
ich habe hier folgendes Script (auch aus dem administrator.de Forum ):
@echo off & setlocal
set "Ordner=\\server1\profile\"
set "Typ=txt"
set "Von=www.Homepage_alt.com"
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=www.Homepage_neu.com"
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
In dem Script kann man oben den Texttyp angeben (txt, rtf, html, Zeile 3), den zu suchenden Text(Zeile 4), und den zu ersetzenden Text (Zeile 16).
Funktioniert wirklich gut, habe aber noch folgende Frage:
Die zu suchenden Dateien liegen alle in diesen Verzeichnissen:
\\server1\profile\test\Signaturen
\\server1\profile\test2\Signaturen
\\server1\profile\test3\Signaturen
\\server1\profile\test4\Signaturen
\\server1\profile\test5\Signaturen
\\server1\profile\test6\Signaturen
Das Script, das mir jetzt vorliegt, durchsucht aber dann auch Ordner wie z.B.
\\server\profile\test6\Word-Dokumente und ändert da dann natürlich auch die Textstellen..
Wie bekomme ich es hin, dass das Script nur die Ordner Signaturen durchsucht und ändert und alle Unterordner \\server\profile\.. auslässt (also wirklich nur Änderungen in den Ordnern Signaturen)?
Bitte um Hilfe!
Gruß
lordofremixes
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 233459
Url: https://administrator.de/contentid/233459
Ausgedruckt am: 24.11.2024 um 03:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo lordofremixes!
Im einfachsten Fall könntest Du dem "
Damit werden nur Dateipfade verwendet, die "Signaturen" enthalten - könnte allerdings auch im Namen der Datei sein.
Als exaktere Alternative dazu könntest Du geschachtelte "
Grüße
bastla
Im einfachsten Fall könntest Du dem "
dir
" einen passenden Filter hinzufügen, etwa:for /f "delims=" %%i in ('dir /s /b /a-d *.%Typ%^|findstr /i "Signaturen"') do call :ProcessFile "%%i"
Als exaktere Alternative dazu könntest Du geschachtelte "
for /d
"-Schleifen verwenden, um zunächst alle "\\server1\profile\test*"-Ordner zu erhalten und darin dann nur die "Signaturen"-Ordner verarbeiten ...Grüße
bastla