Top-Themen

Aktuelle Themen (A bis Z)

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

batch, string finden und erstezen

Frage Entwicklung Batch & Shell

Mitglied: webbudda

webbudda (Level 1) - Jetzt verbinden

15.01.2009, aktualisiert 14:37 Uhr, 5328 Aufrufe, 16 Kommentare

Hallo,

ich habe leider wenig ahnung von batches. ich habe eine datei, in welcher ich einen string bearbeiten möchte.

im original steht in der datei in einer zeile:
eintrag_name 4711

zwischen "eintrag_name" und dem entsprechenden value (4711) ist eine unbestimmte anzahl leerzeichen. Ich möchte diesen string in der datei finden und den value verändern (0815). leider bekomme ich das per batch nicht hin. kann mir jemand helfen?

wäre sehr sehr dankbar, habe schon viel ausprobiert, was ich hier gefunden habe. ohne erfolg.
Mitglied: Turrex0100
15.01.2009 um 14:46 Uhr
du möchtest also die zeichen 4711 durch 0215 in der datei austauschen?
Bitte warten ..
Mitglied: webbudda
15.01.2009 um 14:48 Uhr
ja richtig, sofern die 0815 da noch nicht steht.
möglich wäre aber eventuell auch, dass anstatt 4711 da eine 4710 stehen könnte. am besten die ganze zeile löschen und (möglichst an der stelle) ersetzen.
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 14:50 Uhr
also mit batch ist das glaube ich nicht möglich du kannst jedoch ein temporäres vbs script in eine bat datei stecken
ich bastel dir ebend ein script zusammen....
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 14:53 Uhr
@echo off & setlocal

set "Datei=C:\Dokumente und Einstellungen\text.txt"

set "Von=&&"

set "Nach=>"

set R=%temp%ReplaceInFile.vbs

>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"):Set a=WScript.Arguments:T=fso.OpenTextFile(a(0)).ReadAll:fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2))

cscript //nologo %R% "%Datei%" "%Von%" "%Nach%"


das musst du in eine bat datei stecken und die werte für dich ändern sollte dann klappen

lg Turrex
Bitte warten ..
Mitglied: webbudda
15.01.2009 um 14:58 Uhr
ehm erstmal natürlich besten dank. welche werte meinst du jetzt.
set "Von=4711"

set "Nach=0815"

? würde heissen ich hätte bei 4710 den wert nicht ersetzt?
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 15:03 Uhr
genau,
du willst ja "von" 4711 "nach" 0215
ändern.

Allerdings: Das programm funktioniert nur, wenn in der datei der "von" wert steht

lg turrex
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 15:05 Uhr
du kannst aber das script so aufbauen:


set "Datei=C:\Dokumente und Einstellungen\text.txt"
set "Von=3000"
set "Nach=1000"
:start
set R=%temp%ReplaceInFile.vbs
>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"):Set a=WScript.Arguments:T=fso.OpenTextFile(a(0)).ReadAll:fso.CreateTextFile(a(0)).Write Replace(T,a(1),a(2))
cscript //nologo %R% "%Datei%" "%Von%" "%Nach%"
cls
set "Von=4000"
set "Nach=0000"
goto :start
Bitte warten ..
Mitglied: webbudda
15.01.2009 um 15:12 Uhr
ok super, danke erstmal.
ich kann leider nicht davon ausgehen, dass ein bestimmter wert darin steht bzw kenne ich diesen nicht. muss nur sicherstellen, dass nach dem batch der neue drin steht...
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 15:20 Uhr
naja ich hoffe erstmal das ich dir helfen konnte...

lg
Bitte warten ..
Mitglied: bastla
15.01.2009 um 16:28 Uhr
@Turrex0100
Du bist ja ein richtiger Bastler ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
15.01.2009 um 16:31 Uhr
Hallo webbudda und willkommen im Forum!
ich kann leider nicht davon ausgehen, dass ein bestimmter wert darin steht bzw kenne ich diesen nicht.
Lässt sich demnach das Problem so formulieren: "Ändere in allen Zeilen, die mit "eintrag_name" beginnen, die letzten 4 Stellen auf einen vorgegebenen Wert"?

Grüße
bastla
Bitte warten ..
Mitglied: webbudda
15.01.2009 um 16:43 Uhr
naja fast nech, würde da 123 stehen, die letzten 3 zeichen. ist halt schwierig.
Bitte warten ..
Mitglied: Turrex0100
15.01.2009 um 17:30 Uhr
ich versuche nur zu helfen bin allerdings selbst ein neuling...

lg turrex
Bitte warten ..
Mitglied: bastla
15.01.2009 um 17:47 Uhr
Hallo webbudda!

Wie sieht's mit folgender Formulierung aus: "Ändere in allen Zeilen, die mit "eintrag_name" beginnen, alles nach dem letzten Leerzeichen auf den vorgegebenen Wert"?

Grüße
bastla
Bitte warten ..
Mitglied: webbudda
15.01.2009 um 20:28 Uhr
ja so kann man es auch formulieren.
Bitte warten ..
Mitglied: bastla
15.01.2009 um 22:30 Uhr
Hallo webbudda!

Dann könnte das etwa so gehen:
01.
@echo off & setlocal 
02.
set "Datei=D:\Textdatei.txt" 
03.
set "Suche=eintrag_name" 
04.
set "Neu=0815" 
05.
 
06.
set R=%temp%\ReplaceInFile.vbs 
07.
> %R% echo Set fso=CreateObject("Scripting.FileSystemObject"):T=Split(fso.OpenTextFile("%Datei%").ReadAll,vbCrLF):N="%Neu%" 
08.
>>%R% echo S="%Suche%":L=Len(S):For Each Z In T:If Left(Z,L)=S Then If InStrRev(Z," ")^>0 Then Z=Left(Z,InStrRev(Z," "))^&N 
09.
>>%R% echo A=A^&vbCrLF^&Z:Next:fso.CreateTextFile("%Datei%",True).Write Mid(A,3) 
10.
 
11.
cscript //nologo %R%
Gesucht wird nach "eintrag_name" entsprechend der exakten Schreibweise (mit Berücksichtigung von Groß- und Kleinschreibung), und die Ersetzung erfolgt "in" der Datei (ohne Erstellung einer Sicherungskopie).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD: String finden und kopieren
gelöst Frage von SKBadoxBatch & Shell2 Kommentare

Hallo zusammen, ich hätte da mal eine Frage :) Gibt es eine Möglichkeit durch eine Batch Datei eine .txt ...

Batch & Shell
Nonsense Error - find ihn nicht. (Batch)
gelöst Frage von clragonBatch & Shell7 Kommentare

Hey Leute! Ich bin's wieder. Heute habe ich ein besonders unnötiges Problem,. Aus irgendeinem Grund hat dieses Script einen ...

Batch & Shell
Batch Syntaxfehler, aber finde ihn nicht :(
gelöst Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hi, ich wollte mir mal in Batch ein kleines Menü schreiben um all meine Kleineren Scripte dort einbinden zu ...

Linux Tools
Dateien in Unix finden, die mehrere Strings beinhalten
gelöst Frage von renegade51Linux Tools7 Kommentare

Hallo liebe Leute, ich versuche über die Shell unter Unix alle Dateien ausfindig zu machen, die sowohl den SuchstringA ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 4 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 4 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 16 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 22 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...