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

In Datei mit bestimmter Endung Text ersetzen (mit Rechtsklick)

Frage Entwicklung Batch & Shell

Mitglied: duffy6

duffy6 (Level 1) - Jetzt verbinden

04.03.2010, aktualisiert 18.10.2012, 4457 Aufrufe, 6 Kommentare

Batch Endung Ersetzen

Hallo zusammen,

ich möchte folgendes tun:

In Dateien mit einem bestimmten Dateityp (*.STP) möchte ich das Vorkommen eines bestimmten Textes ("ROT") durch einen anderen Text ("BLAU") ersetzen.

Das ganze soll am besten unter Windows XP mit Rechtsklick auf (nur) diesen Dateityp möglich sein.
Also einen Filter in der Batchdatei, dass diese nur ausgeführt wird, wenn der Dateityp ("STP") stimmt.

Wie könnte denn der Batch-Code dazu aussehen?

Danke für Eure Hilfe

duffy6
Mitglied: Snowman25
04.03.2010 um 13:06 Uhr
Hallo duffy6

if exist findlines.line ( 
	:doesexist 
	Echo Achtung. Zeilennummern-Datei bereits vorhanden! 
	Echo Löschen? (Y/N) 
	set /p delline= 
	if /I X%delline%==Xy ( 
		del findlines.line 
		goto start 
	if /I X%delline%==Xn goto start 
	goto doesexist 
:start 
if X%~x1==X.stp ( 
	more %1|findstr /N ROT>findlines.line 
) else ( 
	Echo %1 ist keine .STP-Datei! 
)
Ist mal ein Anfang. Hauptteil zum ersetzen fehlt noch...

Gruß
Snow
Bitte warten ..
Mitglied: bastla
04.03.2010, aktualisiert 18.10.2012
Hallo duffy6!

Derartige Fragen kommen hier ja ganz selten - aber wenigstens einmal hatten wir doch schon etwas Ähnliches:Suchen und Ersetzen per Batch (variable Dateinamen, feste Strings) ...

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
04.03.2010 um 14:15 Uhr
Wenn der TO AEdit verwenden möchte, dann besteht der hauptteil nur noch aus einem Aufruf von AEdit mit dem Kompletten Dateipfad...
also aedit %~f1 u.s.w..
Bitte warten ..
Mitglied: bastla
04.03.2010, aktualisiert 18.10.2012
@Snowman25
Wenn der TO AEdit verwenden möchte ...
Ev auch eine Option; es sollte aber eigentlich auch der Batch im verlinkten Beitrag genügen ...

... oder, um es kurz zu machen, die angepasste Version davon:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Files" 
03.
set "Typ=STP" 
04.
set "Von=ROT" 
05.
set "Nach=BLAU" 
06.
 
07.
set R=%temp%\Replace.vbs 
08.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
09.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%") 
10.
 
11.
for %%f in ("%Ordner%\*.%Typ%") do cscript //nologo %R% "%%f"
Zur Sicherheit auch hier nochmals der Hinweis: Es wird (ohne Erstellung einer Sicherheitskopie) direkt die jeweilige Datei verändert!

Grüße
bastla
Bitte warten ..
Mitglied: Snowman25
04.03.2010 um 16:09 Uhr
Oder so. Letztendlich muss man dann am ende halt noch einen entsprechenden Eintrag in die Registry schreiben, damit die batch im Kontextmenü angezeigt wird uswusf... Findet sich in 2 Minuten über Google
Bitte warten ..
Mitglied: bastla
04.03.2010, aktualisiert 18.10.2012
... bzw im Ansatz gleich nebenan - dann kann auch noch die Schleife wegfallen und der Batch reduziert sich auf etwas in der Art:
01.
@echo off & setlocal 
02.
if /i "%~x1" neq ".STP" goto :eof 
03.
set "Von=ROT"  
04.
set "Nach=BLAU"  
05.
 
06.
set R=%temp%\Replace.vbs 
07.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll 
08.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(T,"%Von%","%Nach%") 
09.
cscript //nologo %R% %1
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (26)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (20)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...