• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

über dos ne linie in nem file..

wieso sollte das nicht gehen??

hier mein Beispiel:

Datei mit Beispiel Text: test.txt (beliebiger Text)

Steuer Datei steuer.txt mit folgendem Inhalt:
Code:
2 d
end

Batchdatei test.bat:
edlin test.txt < steuer.txt

fettich!! löscht die zweite Zeile aus der Datei test.txt heraus!!
mit z.B. 3 i könnte man wieder Text einfügen, allerdings muß man dazu ein ^C in die Steuer Datei reinbekommen, aber das sollte ein lösbare Aufgabe sein!

Befehle des edlins in der KnowledgeBase

sollte jetzt also kein Problem mehr sein, oder??
 
Zuletzt bearbeitet:
Hallo!

Meinst du das was ich gemacht habe.

Das funkt aber nicht so wie es soll.

Habe aber schon ne Alternative mit Albus Methode in Arbeit. Habe da nur noch das Problem mit ^C, dann siehts aber sehr gut aus und das gute dabei: Es sollte unter der Windows Eingabeaufforderung genauso funktionieren wie im reinen MS-DOS.
 
wie ^C?? ist doch kein Problem

das angehängte Programm erwartet mindestens 3 Parameter (es werden keine aufwändigen Prüfungen gemacht, das überlasse ich der Fantasie der Anwender :) )

Parameter 1: Dateiname der zu ändernden Datei
Parameter 2: Zeile die zu ersetzen ist
ab Parameter 3 bis Parameter 9: Text der stattdessen eingefügt wird. (wenn jemand eine Lösung ala %3* oder so hat, dann wäre das natürlich zu bevorzugen...)

schauts euch an.... bei mir funktionierts soweit, eine Garantie übernehme ich aber nicht... wenns also Dateien futsch macht, dann ist das ein Anwenderfehler, und kein Programmierfehler ;)
 

Anhänge

  • replaceline.zip
    350 Bytes · Aufrufe: 7
Zuletzt bearbeitet:
Sehr gut Albu.

Noch ne Frage wie hast den jetz das mit dem ^C gemacht, ich konnte nur ein  erkennen.

>> kannte ich ja, aber das mit > nich (Inhalt ersetzen,oder??).

Das mit den nur 7 Wörtern ist etwas ärgerlich, aber ich glaube wenn man mehr als 7 Wörter zu tauschen hat ist das dann eh ne Sache fürs Word ;) .
 
hi, oder moin :)

also das ^C hab ich mit nem Hexeditor in die TextDatei gezaubert.... :)
und da das Ende ja immer gleich aussieht habe ich den Rest auch gleich mit dazugenommen..... keine Ahnung ob es sonst irgendwie möglich wäre in DOS ein Sonderzeichen zu erzeugen, aber so gehts halt und warum den Kopf zergrübeln?? ... *grins*

> sollte die vorhandene Datei überschreiben, bzw. eine neue Datei erzeugen, ich hoffe das funzt alles so... ist schon ewig her, daß ich mich mit DOS rumgeärgert habe und das Skript ist nur ein 10 Minuten Hack.... -> deswegen auch die maßig Sicherheitsüberprüfungen ;)

Die Einschränkung mit den Parameter ist blöde, keine Ahnung, vielleicht gibt es die Möglichkeit da eine Art Platzhalter oder sowas zu verwenden .... ich hab da sowas im Kopf wie %3* aber das ging glaub ich nur bei 4DOS oder so :(

Aber entweder das reicht so, oder irgendwer muß mal ein Visual C++ 1.52c rauskramen um eine echte 16 bit DOS App auf die Füße zu stellen... am besten mit statischen Libs....

so und jetzt geh ich heia machen....

ach ja noch die Moral des Tages: Leuchtet am Geldautomat das Halteverbot Licht, dann gibt es heute keinen Euro nicht....
 
nein nicht 9 Wörter... meine BatchDatei kannst Du derzeit mit maximal 9 Parametern aufrufen, wobei die ersten 2 aus Dateiname und Zeile bestehen müssen. Du hast also nur 7 durch Leerzeichen getrennte Wörter (Parameter) zru Verfügung. Zeichenketten in Anführungszeichen werden z.B. als ein einzelner Parameter übernommen.

also nochmal: die Beschränkung auf 9 Parameter ist allein eine Schwäche meiner simplen Batchdatei. Jemand der tiefer in der DOS / Batchprogrammierung drin steckt kann das bestimmt noch ausbauen und verwursten.

Mit ein bißchen Tüftelei und möglicherweise komplexerer Befehlsfolgen (als delete - insert - end) kann man bestimmt auch komplizierte Sachen machen.... z.B. nur drei Parameter übergeben (Datei, Zeile und Zeichenkette in Hochkommata) und die Anführungszeichen nachher durch replace durch nichts ersetzen.... Dadurch kannst Du jeden beliebigen Text reinbringen, mußt ihn halt "quoten" :)

Aber prinzipiell macht es das, was es anhand Deiner bisherigen Spezifikation können soll. (von mehr als 7 Worten war nie die Rede :) )
 
Hallo!

Versucht mal folgendes(hat leider kein edlin zur Hand ):rolleyes:

Code:
echo %2 d > steuertemp.txt
echo %2 i >> steuertemp.txt
echo %3 > stringtemp.txt
echo 2 r "  > remquot.txt
echo end >> remquot.txt
edlin stringtemp.txt < remquot.txt
copy steuertemp.txt + stringtemp.txt + steuertemplate.txt steuer.txt

rem Löschen der Temporären Dateien
del steuertemp.txt
del stringtemp.txt
del remquot.txt

edlin %1 < steuer.txt

rem Löschen des edlin-templates
del steuer.txt

Hier sollte das ganze mit replaceline.bat datei Zeile "Neuer Text" gehen, aber wie gesagt hatte kein edlin zur Hand.

Das steuertemplate.txt von Albu sollte auch zugegen sein.
 
Zuletzt bearbeitet:
Man kann mit Batchfile auch mehr als 7 wörter machen gibt nen befehl dafür!!!!

könnte mir mal einer von euch edlin hier posten oder per mail schicken an peep oder link????

thx, cu xxoes
 
Zuletzt bearbeitet:
Zurück
Oben