remember-me
Goto Top

batch programirung Enter ?

hallo aller seits,

weist jemand wie man beim start eines programes aus der komandozeile gleich das return absendet?


ich habe eine rutine die ich per Batch file lössen möchte, daten vom ftp server abhollen
dazu starte ich rasphone mit einener batch file :


start C:\rasphone\ras.pbk


und dieser erwartet im nechten schrit die eingabe von return ()
oder alt W -->wächlen
wie kan ich das im msdos ausdrucken ?

Content-ID: 18411

Url: https://administrator.de/contentid/18411

Ausgedruckt am: 08.11.2024 um 09:11 Uhr

Lord-Helmi
Lord-Helmi 25.10.2005 um 15:18:32 Uhr
Goto Top
Hallo,

wenn du nur ein "w" eingeben willst, dann sollte ein "echo w" vor dem Befehl reichen. Oder habe ich da was falsch verstanden?

Ist wohl eine Frage für den Biber face-smile

Gruß
Michael
remember-me
remember-me 25.10.2005 um 15:25:19 Uhr
Goto Top
Leiider Nicht
Beim commando:

echo W | C:\verzeichnis\programname
bekomme ich eine fehlermeldung :

Ein prozes hat versucht, zu einer nicht bestechender pipe zu scheriben ..
Biber
Biber 25.10.2005 um 17:05:20 Uhr
Goto Top
Moin remember_me,
da kann ich auch nur raten...
Drei Alternativen würde ich (auch in dieser Reihenfolge) ausprobieren:

1. Checken, ob denn dieses ras.pbk einen Schalter für Silent-Running vorgesehen hat.
Ich kann es mir kaum vorstellen, dass so etwas nicht implementiert ist im Jahre AD 2005.

2. Wenn nicht: Das "Enter" kannst Du schon mit Echo und Pipe simulieren, aber es darf kein Leerzeichen dazwischen sein.
Beispiel "echo.|date" funktioniert;"echo|date" eher nicht;"echo |date" auch nicht.

Also "echo.|C:\verzeichnis\programname" wäre einen Versuch wert.
Aber: Da bekommst Du nur das "Enter" hin... Alt-W oder so etwas... *kopfschüttel*

3. Was in früheren DOS-Versionen immer gerne in diesen bunten Supermarkt-PC-Zeitschriften als Tipp der Woche veröffentlicht wurde ("gepostet" hat damals noch keiner):
Eine Textdatei namens "Enter" (oder "return.txt"...) mit genau einer Leerzeile erzeugen.
Und dann das Programm diese Datei als Input nehmen lassen:
C:\verzeichnis\programname&lt return.txt
Grenzen dieser Lösung: siehe bei 2.

Ich würde zuerst Alternative 1 prüfen... alles andere ist Workaround.

HTH
Frank / der Biber aus Bremen
Guenni
Guenni 25.10.2005 um 18:27:16 Uhr
Goto Top
@remember_me

Hi,

das folg. schreibe ich jetzt mal unter Vorbehalt, aber ich denke, dass ich damit einigermaßen
richtig liege.

Die Befehle in einer Batchdatei werden vom Betriebssystem entgegengenommen, und
nicht von einem Programm, dass durch die Batch aufgerufen wird, also egal, wie man auch
versucht, die Eingabe "Enter" umzusetzen, ausgeführt wird die Anweisung vom Betriebssystem.

Das ist ganz was anderes, als wenn ich ein Programm starte und DANN die Entertaste drücke,
DANN nämlich nimmt das Programm die Tastatureingabe entgegen.

Wenn man das automatisieren will, muß das Programm Scripte "entgegennehmen" können.

Das geschieht normalerweise durch z.B.:

Programmname < script.txt

In script.txt stehen Befehle und Eingaben, die man eigentlich durch die Tastatur eingibt.
Diese Befehle müssen also so in dem Script stehen, als wenn man selber an den Tasten sitzt.
Man kann auch sagen, es handelt sich um ein Makro, das vom Programm eingelesen
wird.

Was m. M. nach viele nicht wissen, das Programm fdisk z.B. , zumindest in früheren Dos-
Versionen, gehört auch dazu.

Man hinterlegt alle Befehle, die man braucht um eine Festplatte einzurichten, in einer
Datei, startet danach "fdisk < dateiname.txt" und die Festplatte wird eingerichtet.

Um ein solches Script zu schreiben, benötigt man einen Texteditor auf Dos-Basis,
also nicht Notepad etc, sondern Edit, aufzurufen an der Eingabeaufforderung.

Wenn man Edit startet und [Strg] + P drückt steht in der Statuszeile:
Geben sie das einzufügende Steuerzeichen ein.

DIESES Steuerzeichen wird von dem Programm entgegengenommen und richtig
interpretiert.

Erzeugt werden im Editor diese Steuerzeichen normalerweise durch [Alt] + Tastaturcode.
Wenn man beispielsweise an der Eingabeaufforderung [Alt] gedrückt hält, auf dem
NUMMERNBLOCK eine 13 eingibt, die [Alt]-Taste losläßt, hat das den gleichen Effekt,
als wenn ich an der Eingabeaufforderung einfach die Entertaste drücke.

Auf diese Art kann man Steuerzeichen im Script eingeben, die vom Programm ausgeführt werden.

So irgendwie in der Richtung muß man suchen.

Gruß
Günni
remember-me
remember-me 26.10.2005 um 09:11:51 Uhr
Goto Top
hallo leutche,
viellen dank für eure müche,
die lösung meines problem habe ich im ansatz von Silent-Running gefunden

gruss remember