Suche richtige Windows Befehle!

Hallo!

Ich möchte in einer Batch-Datei ein Programm starten und automatisiert bestimmte Menüpunkte Auswählen. Weiß jemand welche Befehle ich verwenden muß? Z.B. Starte Word, öffne Dokument dok1.doc und drucke es, anschließend schließe Word wieder!

Anita

Ich möchte in einer Batch-Datei ein Programm starten und
automatisiert bestimmte Menüpunkte Auswählen. Weiß jemand
welche Befehle ich verwenden muß? Z.B. Starte Word, öffne
Dokument dok1.doc und drucke es, anschließend schließe Word
wieder!

Das ist von Programm zu Programm unterschiedlich. In der Regel wirst du ueber Handbuecher oder On-Line-Hilfen unter den Stichworten ‚commandline options‘, ‚Befehlszeilenschalter‘, ‚switch‘ oder ‚Schalter‘ fuendig. Was sich als wahre Fundgrube heraustellen kann, sind die sog. Dateitypen-Zuordnungen in Win. Da findest du so manchen Aufruf, der dich weiterbringen kann. Allerdings lassen sich nur die innerhalb von Batch-Dateien verwenden, die auf den Einsatz von DDE verzichten.

Achim

Hallo Anita,

ich denke nicht, dass Du das alles mit Batch-Dateien erledigen kannst. Ein Programm oeffnen, gleich ein bestimmtes Dokument dazu oeffnen, das mag gehen. Aber drucken und ein Programm wieder schliessen, ich glaube, solche Befehle stehen in der Batch-Programmierung nicht bereit.

Z.B. Word zusammen mit einer bestimmten doc-Datei oeffnen braucht nur eine einzeilige Batch-Datei, deren Inhalt so aussehen wuerde:

c:\programme\micros~2\office\winword.exe c:\text\beispiel.doc

Dabei musst Du beachten, dass Batch-Dateien zwar lange Dateinamen vertragen, aber scheinbar keine Dateinamen mit Leerzeichen, deswegen steht in meinem Beispiel auch „micros~2“ statt „microsoft office“.

Jan

Hallo Anita,
es gibt bestimmt einen Startbefehl für Drucken unter Word. Den kenne ich leider nicht :smile:
Aber Du kannst das mit der Keule erledigen: Erstelle ein Makro, das Dein aktuelles Dokument druckt (am besten mit der Aufzeichenfunktion), benenne es z.B. Drucken, und speicher ihn auf der Normal.dot, so daß es für alle Dokumente verfügbar ist. Mit dem Schalter /m kannst Du Word dazu bringen, ein Makro auszuführen:

C:\>WINWORD MyDoc.doc /m Drucken

Wenn der Befehl „Beenden“ in Deinem Makro enthalten ist, dann beendet sich Word sogar.

Das Problem mit den Leerzeichen läßt sich mit „Gänsefüßen“ im Dateinamen umgehen:

"C:\Meine Tollen Programme\Winword.exe" "D:\Meine Supertollen Dokumente\MyDoc.doc" /m Drucken

Gruß

J.

Word und der Ausdruck war nur ein Beipiel. Ich habe in diesem Zusammenhang schon einmal den Begriff „AT-Befehle“ gehört! Hilft das evtl. weiter?

Word und der Ausdruck war nur ein Beipiel. Ich habe in diesem
Zusammenhang schon einmal den Begriff „AT-Befehle“ gehört!
Hilft das evtl. weiter?

Hallo Anita
AT-Befehle unter NT und 2000 für die zeitgesteuerte Abarbeitung, von Tasks, hier eine kurze Syntax.

At
Listet geplante Befehle auf oder plant Befehle und Programme, die zu einem bestimmten Zeitpunkt und Datum auf einem Computer ausgeführt werden sollen. Um den at-Befehl verwenden zu können, muss der Zeitplandienst ausgeführt werden.

at [\Computername] [[Id] [/delete] | /delete [/yes]]

at [\Computername] Zeit [/interactive] [/every:smiley:atum[,…] | /next:smiley:atum[,…]] Befehl

Parameter

keine

Ohne Parameter zeigt der Befehl at geplante Befehle an.

\Computername

Gibt einen Remotecomputer an. Wenn dieser Parameter weggelassen wird, werden die Befehle auf dem lokalen Computer geplant.

Id

Gibt die Identifikationsnummer an, die einem geplanten Befehl zugewiesen wurde.

/delete

Löscht einen geplanten Befehl. Falls Id nicht angegeben wird, werden alle geplanten Befehle auf dem Computer gelöscht.

/yes

Erzwingt eine positive Antwort auf alle Anfragen vom System, wenn geplante Ereignisse gelöscht werden.

Zeit

Gibt die Uhrzeit an, zu der der Befehl ausgeführt werden soll. Die Zeit wird angegeben in Stunden:Minuten in 24-Stunden-Schreibweise (00:00 [Mitternacht] bis 23:59).

/interactive

Ermöglicht dem Auftrag, mit dem Desktop des Benutzers zusammenzuarbeiten, der zu dem Zeitpunkt angemeldet ist, zu dem der Auftrag ausgeführt wird.

/every:smiley:atum[,…]

Führt den Befehl an den angegebenen Tagen der Woche oder des Monats aus (beispielsweise jeden Donnerstag oder jeden dritten Tag des Monats). Geben Sie Datum als einen oder mehrere Wochentage (Mo, Di, Mi, Do, Fr, Sa, So) oder als einen oder mehrere Tage des Monats (mit Zahlen von 1 bis 31) an. Trennen Sie mehrere Datumseinträge mit Kommas. Wird Datum nicht angegeben, wird der aktuelle Tag des Monats verwendet.

/next:smiley:atum[,…]

Führt den angegebenen Befehl am entsprechenden, darauf folgenden Wochentag (beispielsweise am nächsten Donnerstag) aus. Geben Sie Datum als einen oder mehrere Wochentage (Mo, Di, Mi, Do, Fr, Sa, So) oder als einen oder mehrere Tage des Monats (mit Zahlen von 1 bis 31) an. Trennen Sie mehrere Datumseinträge mit Kommas. Wird Datum nicht angegeben, wird der aktuelle Tag des Monats verwendet.

Befehl

Gibt den Windows 2000-Befehl, das Programm (.exe- oder .com-Datei) oder Batchprogramm (.bat- oder .cmd-Datei) an, das ausgeführt werden soll. Wenn der Befehl einen Pfadnamen als Argument benötigt, verwenden Sie den absoluten Pfad. Der absolute Pfad besteht aus dem vollständigen Pfadnamen, beginnend mit dem Laufwerkbuchstaben. Wenn sich der Befehl auf einem Remotecomputer befindet, geben Sie für den Server und den Freigabenamen die UNC-Notation anstelle des Remotelaufwerkbuchstaben an. Dem Befehl muss, wenn es sich nicht um eine ausführbare Datei (.exe) handelt, ein cmd /c vorangestellt werden, beispielsweise:

cmd /c dir > c:\test.out

Quelle Windows 2000 Hilfe

Word und der Ausdruck war nur ein Beipiel. Ich habe in diesem
Zusammenhang schon einmal den Begriff „AT-Befehle“ gehört!
Hilft das evtl. weiter?

AT it eine Art Scheduler; es erlaubt, Programme an definierten Zeiten ablaufen zu lassen.
Gib einfach at /? auf der Kommandozeile ein; für mehr Hilfe kannst Du unter Start/Hilfe/Windows NT-Befehle schauen (AT gibt es nur für NT bzw. Win2000).
Aber das ist nur die Zeitplanung; was Du machen kannst, habe ich am Beispiel Word weiter unten geschrieben.
Wenn das nicht weiterhilft, beschreibe doch mal Dein Problem konkret. Dann wirst Du geholfen :smile:

Gruß

J.

Holla

Das ganze geht ueber DDE (heisst doch so?). Du brauchst dazu aber ein Programm, das diese Befehle senden kann. Ich hab mal vor einiger Zeit Winbatch ausprobiert, dort konnte man mit einen Befehl Tastenanschlaege senden und so alle Funktionen, die ueber Tastenkuerzel verfuegbar sind, ausfuehren.

Ich glaube der „Windows Scripting Host“ kennt auch sowas wie „SendKey“…

Gruss, Lutz