Mit C einen Text String in einer Bat verändern...Hiilfeee!
Hallo Leute,
ich hoffe mir ist noch zu helfen. Versuche gerade mir ein wenig Cbeizubringen und "oh Wunder"....jede Menge Probleme und Fragen
Ich möchte mittels C oder Cplusplus einen Text String in einer .bat verändern.
Einfach in der .bat die beiden Wörter suchen lassen und durch andere ersetzen.
Hab jetzt nun einige Stunden mit versuchen und suchen verbracht....ich kriegs aber nicht gebacken.
Kann mir jemand sagen wie das funktioniert??
greets
ich hoffe mir ist noch zu helfen. Versuche gerade mir ein wenig Cbeizubringen und "oh Wunder"....jede Menge Probleme und Fragen
Ich möchte mittels C oder Cplusplus einen Text String in einer .bat verändern.
Einfach in der .bat die beiden Wörter suchen lassen und durch andere ersetzen.
Hab jetzt nun einige Stunden mit versuchen und suchen verbracht....ich kriegs aber nicht gebacken.
Kann mir jemand sagen wie das funktioniert??
greets
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 18222
Url: https://administrator.de/contentid/18222
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
17 Kommentare
Neuester Kommentar
was'n dat für ne eigenartige beschreibung.
kann man die mal klar definieren?
kann man die mal klar definieren?
kannst du mal dein loginscript posten, zumindest
den betreffenden teil.
den betreffenden teil.
dier der betreffende Text String:
SET FEHL=0
for /f "tokens=1,* delims=:" %%a
in ('TYPE %temp%\login.log ^| find
"Fehlend: "') do echo %%b >>
%temp%\login.log.f& SET FEHL=1
IF NOT "%FEHL%"=="1"
goto nopopup
(In dem Log wird geprüft ob eine
Anwendung fehlt oder nicht zu erreichen ist
und wird per Popup gemeldet.
ich möchte die Variable SET FEHL=1
verändern in SET FEHL=0 damit das Popup
nicht mehr hochkommt. Da diese bat auf vielen
Rechnern liegt und einige lokal nicht zu
erreichen sind, möchte ich über
ein Script oder eine EXE diese
Veränderung remote ausführen.
SET FEHL=0
for /f "tokens=1,* delims=:" %%a
in ('TYPE %temp%\login.log ^| find
"Fehlend: "') do echo %%b >>
%temp%\login.log.f& SET FEHL=1
IF NOT "%FEHL%"=="1"
goto nopopup
(In dem Log wird geprüft ob eine
Anwendung fehlt oder nicht zu erreichen ist
und wird per Popup gemeldet.
ich möchte die Variable SET FEHL=1
verändern in SET FEHL=0 damit das Popup
nicht mehr hochkommt. Da diese bat auf vielen
Rechnern liegt und einige lokal nicht zu
erreichen sind, möchte ich über
ein Script oder eine EXE diese
Veränderung remote ausführen.
kopier einfach eine neue version via logon-script hin.
anführungszeichen: \"
anführungszeichen innerhalb eines, in anführungszeichen
gehaltenen stings, werden selten richtig interpretiert.
bei sonderzeichen sieht es auch nich besonders rosig aus.
wäre bei einer kompletten neuschreibung, eine
batchdatei nich sinnvoller?
rem * ins entsprechende verzeichnis wechseln
cd /d c:\windows
rem * weg mit dem alten script
del script.cmd
rem * erstellen des neuen scripts, bzw
rem * reinklatschen der neuen zeilen
echo "zeile1 von meinem neuen script" >> script.cmd
echo "zeile2 von meinem neuen script" >> script.cmd
echo "zeile3 von meinem neuen script" >> script.cmd
anführungszeichen innerhalb eines, in anführungszeichen
gehaltenen stings, werden selten richtig interpretiert.
bei sonderzeichen sieht es auch nich besonders rosig aus.
wäre bei einer kompletten neuschreibung, eine
batchdatei nich sinnvoller?
rem * ins entsprechende verzeichnis wechseln
cd /d c:\windows
rem * weg mit dem alten script
del script.cmd
rem * erstellen des neuen scripts, bzw
rem * reinklatschen der neuen zeilen
echo "zeile1 von meinem neuen script" >> script.cmd
echo "zeile2 von meinem neuen script" >> script.cmd
echo "zeile3 von meinem neuen script" >> script.cmd
über die von dir genannte
Möglichkeit habe ich auch nachgedacht,
ist aber nicht der Sinn der Übung da
ich es in C bewerkstelligen möchte.
Einfach eine .exe basteln die das ganze
umsetzt, entweder eine komplett neue Datei
mit dem nötigen Inhalt erstellt oder
diesem SET Eintrag einen anderen Wert
zuweist.
Das muss doch irgenwie zu handeln sein.
Übrigens ...Danke für deine
Mühe
Möglichkeit habe ich auch nachgedacht,
ist aber nicht der Sinn der Übung da
ich es in C bewerkstelligen möchte.
Einfach eine .exe basteln die das ganze
umsetzt, entweder eine komplett neue Datei
mit dem nötigen Inhalt erstellt oder
diesem SET Eintrag einen anderen Wert
zuweist.
Das muss doch irgenwie zu handeln sein.
Übrigens ...Danke für deine
Mühe
hm, also hab ich das richtig verstanden?
nur damit du dich mit C herumspielen kannst möchtest du für dein problem eine lösung über 97 umwege basteln?
wenn auf jedem client/server die gleiche datei liegt und du überall auch wieder die gleiche datei haben willst, dann erstelle dir doch diese neue datei lokal bei dir und kopiere sie dann einfach auf die jeweiligen clients.
ist 100mal einfacher und mit 1000mal weniger aufwand verbunden als ein edit-programm in C zu schreiben.
würds ja noch verstehen wenn du es in PERL oder kix32 lösen wollen würdest.
du kannst das problem aber auch einfach in batch lösen, indem du dich sed oder ähnlichem beschäftigst, die dir dann dein file editieren und nur den einen wert anpassen.
bist wohl ein admin mit zuviel zeit und zuwenig arbeit
über die von dir genannte
Möglichkeit habe ich auch nachgedacht,
ist aber nicht der Sinn der Übung da
ich es in C bewerkstelligen möchte.
Möglichkeit habe ich auch nachgedacht,
ist aber nicht der Sinn der Übung da
ich es in C bewerkstelligen möchte.
@j1rechert
Hi,
wenn du das in C, C++, Pascal oder in was für eine Sprache auch immer
bewerkstelligen willst, eine Datei "remote" zu verändern, so wirst du ZWEI
Programme schreiben müssen.
Ein Programm läuft auf der "Remote-Maschine" als Server, also als ein
Programm, das auf Anfragen lauscht, um Dienste anzubieten.
Das zweite Programm, ist das Programm, das diese Dienste(als Client) in Anspruch nimmt.
Analog dazu nimm einfach das Beispiel Telnet. Ein Telnet-Client ist ein Programm
das auf einen anderen Computer zugreift. Was braucht man dazu?.....
einen Computer, der Telnet-Dienste bereitstellt.
Gruß
Günni
wenn du das in C, C++, Pascal oder in was
für eine Sprache auch immer
bewerkstelligen willst, eine Datei
"remote" zu verändern, so
wirst du ZWEI
Programme schreiben müssen.
für eine Sprache auch immer
bewerkstelligen willst, eine Datei
"remote" zu verändern, so
wirst du ZWEI
Programme schreiben müssen.
hi,
da muss ich dir leider widersprechen.
es ist NICHT notwendig eine client-server-applikation zu schreiben.
auch wenn ers unbedingt in C oder sonst was schreiben möchte.
wozu gibt es UNC-Pfade bzw. Shares?
jürgen
@ketchup
Hi,
das ist mir hinterher auch eingefallen, was ich da geschrieben hatte, aber da lag ich
schon im Bett, und hatte keine Lust mehr aufzustehen, um meinen "Senf" den ich
dazugegeben hab zu korrigieren.
Gruß
Günni
Hi,
das ist mir hinterher auch eingefallen, was ich da geschrieben hatte, aber da lag ich
schon im Bett, und hatte keine Lust mehr aufzustehen, um meinen "Senf" den ich
dazugegeben hab zu korrigieren.
Gruß
Günni