Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Schleife und suchen ersetzen

Frage Entwicklung Batch & Shell

Mitglied: SBiesterfeldt

SBiesterfeldt (Level 1) - Jetzt verbinden

13.04.2010 um 11:25 Uhr, 3353 Aufrufe, 4 Kommentare

Ich habe einen Code, möchte jedoch in mehreren Dateien nacheinander suchen&ersetzen

Hallo,

ich habe den folgenden Code:

01.
@echo off & setlocal enabledelayedexpansion 
02.
title NVP Design 
03.
cls 
04.
color 1f 
05.
 
06.
set coredrive="D:\Sascha\portal.war\core" 
07.
set classicdrive="D:\Sascha\portal.war\defaultStyleFamily\classic" 
08.
set litedrive="D:\Sascha\portal.war\defaultStyleFamily\lite" 
09.
set rootdrive="D:\Sascha\portal.war" 
10.
 
11.
set Datei1=%coredrive%\sideMenu.css 
12.
set Datei2=%coredrive%\sideMenu.jsp 
13.
set Datei3=%classicdrive%\portalMyPage.css
es sind ca. 50 Dateien, alternativ wären es nur *.css und *.jsp und *.txt Dateien

01.
rem ######################################################################################################################################## 
02.
:start 
03.
 
04.
	title NVP Design 
05.
	cls 
06.
	echo. 
07.
	echo. 
08.
	echo                  =============== NVP Design ================ 
09.
	echo                  *                                         * 
10.
	echo                  *  1 - DUNKEL                             * 
11.
	echo                  *  2 - HELL                               * 
12.
	echo                  *  3 - HINTERGRUND                        * 
13.
	echo                  *  4 - Companyname change                 * 
14.
	echo                  *  5 - About SQLMenu ^& Disclaimers        * 
15.
	echo                  *  x - Exit                               * 
16.
	echo                  *                                         * 
17.
	echo                  =========================================== 
18.
	echo                         Ctrl+C at any time will abort 
19.
	echo. 
20.
	echo. 
21.
	echo                     Select the type of SQL command to run 
22.
	echo. 
23.
	set /p sqltype=                            Your selection:  
24.
 
25.
	if '%sqltype%'=='1' goto DUNKEL 
26.
	if '%sqltype%'=='2' goto HELL 
27.
	if '%sqltype%'=='3' goto HINTERGRUND 
28.
	if '%sqltype%'=='4' goto COMPANY 
29.
	if '%sqltype%'=='5' goto ABOUT 
30.
	if '%sqltype%'=='x' exit 
31.
	if '%sqltype%'=='X' exit 
32.
 
33.
	 
34.
	rem (else) 
35.
	echo. 
36.
	echo                              ---INVALID ENTRY--- 
37.
	echo. 
38.
	pause 
39.
	goto start
Hier beginnt der erste Suchen teil der aber auf alle Dateien bzw. Dateitypen gehen soll.

01.
rem ######################################################################################################################################## 
02.
:DUNKEL  
03.
 
04.
set /p NewColor= Neue Farbe in HEX (ohne #): 
05.
 
06.
set "Datei1=%Datei1%" 
07.
set "t=Temp.tmp"   
08.
 
09.
set "Suchen1=00285C"  
10.
set "Ersetzen1=%NewColor%"  
11.
  
12.
if exist "%t%" del "%t%"  
13.
for /f "delims=" %%i in ('findstr /n $ "%Datei1%"') do set "Line=%%i" & call :ProcessLine  
14.
move "%t%" "%Datei1%"  
15.
goto :done  
16.
  
17.
:ProcessLine  
18.
for /f "tokens=1* delims=:" %%a in ("%Line%") do set "L=%%b"  
19.
if not defined L >>"%t%" echo\& goto :eof  
20.
set WriteLine=!L:%Suchen1%=%Ersetzen1%! 
21.
>>"%t%" echo !WriteLine!  
22.
goto :eof   
23.
 
Hier ist nur noch das Ende verarbeitet.
01.
rem ######################################################################################################################################## 
02.
:done 
03.
 
04.
	echo. 
05.
	echo. 
06.
	echo. 
07.
	echo  ======================================================================  
08.
	echo. 
09.
	echo   Thank you for using SQLMenu.  The selected task has been completed.  
10.
	echo. 
11.
	echo              M - Main Menu (SQLMenu Begin Screen)  
12.
	echo              X - Exit.  
13.
	echo. 
14.
	echo  ======================================================================  
15.
	echo.  
16.
	echo. 
17.
	set /p getputagain=                              Your selection:  
18.
 
19.
	if '%getputagain%'=='m' goto start 
20.
	if '%getputagain%'=='M' goto start 
21.
	if '%getputagain%'=='x' exit 
22.
	if '%getputagain%'=='X' exit 
23.
 
24.
	rem (else) 
25.
	echo. 
26.
	echo                              ---INVALID ENTRY--- 
27.
	echo. 
28.
	pause 
29.
 
Kann mir jemand helfen hier eine Schleife zu entwickeln die auf die Dateien bzw. die Typen die Definiert sind suchen und ersetzen?

Vielen Dank im Voraus
cls
goto done
Mitglied: LotPings
13.04.2010 um 12:08 Uhr
Hallo SBiesterfeldt,

ohne deine Vorgeschichte zu kennen ist deine Fragestellung viel zu lang und zu unklar um dir überhaupt helfen zu können/wollen.

Mir ist nicht klar womit du ein Problem hast.

Gruß
LotPings
Bitte warten ..
Mitglied: SBiesterfeldt
13.04.2010 um 12:11 Uhr
Hallo LotPings,

ich möchte in mehreren Dateien (*.txt, *.css und *jsp) nach bestimmten begriffen suchen und diese mit einem Benutzerdefinierten Wert ersetzen.

Beispiel
Suchen1=00285C
Ersetzen1=%NewColor%

Suchen2=155527
Ersetzen3=%NewColor2%

usw.

Sorry, dachte je mehr Infos umso besser....

Gruß Sascha
Bitte warten ..
Mitglied: LotPings
13.04.2010 um 15:25 Uhr
Hallo Sascha,

purer Batch-Code ist zum suchen inbesondere in HTML-Dateien schlecht geeignet, da die dort häufig vorkommenden Sonderzeichen <>& einer besonderen Behadlung bedürfen um nicht als Batch-Anweisungen für E/A-Umleitng bzw Befehlsverkettung interpretiert zu werden.

Wenn die Dateien außerdem noch anders kodiert sind (UTF_8) wirds ganz holperig. Mit CSS kannst du doch sowieso Farb eigensschaften abstrahieren.

Wenn das häufig vorkommt machst du etwas falsch; für gelegentliche Änderungen würd ich einen Editor einsetzen der Suchen Ersetzen über mehrere Dateien beherscht. AFAIK kann das z.Bsp. Notepad++.

Gruß
Lotpings
Bitte warten ..
Mitglied: SBiesterfeldt
13.04.2010 um 15:32 Uhr
ja aber die Änderungen sollen in insgesamt 50 Dateien gemacht werden, und die Funktion via Editor ist etwas kompliziert.

Wie würde denn eine Lösung für TXT dateien aussehen?
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Suchen, Ersetzen und Entfernen von Dateiinhalten auf Textbasis (1)

Frage von DanteManor zum Thema Batch & Shell ...

Batch & Shell
Powershell - In Textdatei suchen und ersetzen

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell String Suchen mit Wildcard und Ersetzen (6)

Frage von herrmanndominic zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...