Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Wie muß es aussehen, wenn ich Makros mit dem Befehl find suc

Andrea Siegert / 15 Antworten / Baumansicht Nickles

Ich will Makros nach jeder Sitzung auf wunsch in einer Batch-Datei Speichern können und mit dem Befehl find soll ich die Makrodefinitionen aus der Befehlsliste herrausfiltern. Wie muß das aussehen?

bei Antwort benachrichtigen
REPI Andrea Siegert „Wie muß es aussehen, wenn ich Makros mit dem Befehl find suc“
Optionen

Was für Makros (Word-Macros,alte Excel Macros, VB Macros, Tacl Macros usw....) Soll der Macro sich selbst in die Batch-Datei schreiben. Handelt es sich um Batch Dateien unter DOS oder Shellscripte unter Linux bzw. unter welchem anderen BS ??

Du solltest wenigstens die Aufgabenstellung ordentlich vormulieren können, wenn Du erwartest das Dir geholfen wird !!!



repi


Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
Andrea Siegert REPI „Was für Makros Word-Macros,alte Excel Macros, VB Macros, Tacl Macros usw.......“
Optionen

Ja eine Batch-Datei unter dos

bei Antwort benachrichtigen
REPI Andrea Siegert „Ja eine Batch-Datei unter dos“
Optionen

Bitte beantworte doch mal die ganze Frage von mir !
Was verstehst Du unter ... nach jeder Sitzung ?
Das Herunterfahren des BS, Die Nutzung des ominösen Makros , das Schließen der Anwendung welche den Makro verwendet , oder was ??



repi

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
Andreas42 Andrea Siegert „Wie muß es aussehen, wenn ich Makros mit dem Befehl find suc“
Optionen

Hi!

Das ist doch im Prinzip die gleiche fRage, die du schonmal gestellt hast, nur etwas anders formuliert, oder?

Ich meinen deine Frage hier.

Hast du seitdem schon irgendetwas probiert oder programmiert? Könne wir das sehen? Falls nein, warum nicht?

Zusätzlich würde mich immer noch interessieren, was das für Aufgaben sind? Ist das etwas aus der Berufschule? Gehört das in ein Seminar?
Ich weiss, dass ich schon zum dritten Mal frage... ;-)

Was dein konkretes Problem angeht:

Hast du FIND (den DOS-Befhel, der auch bei MSDOS 5.0 dabei ist...) schon einmal genutzt oder dir die Hilfe dazu angesehen?

Ich hab' (wie repi) keinen Plan, was das für Macros sein sollen bzw. wie die aussehen. ich weiss aber, dass man mit FIND Zeichenketten in Dateien suchen kann (Zeilen, die die Zeichenkette enthalten werden von FIND ausgegeben).
Ohne genauere Info werden wir dir nicht weiterhelefn können. Damit meine ich allerdings NICHT, dass du uns wieder den kompletten Aufgabentext abtippst... ;-)

Gib' uns lieber ein paar Infos über die Makros und für was das ganze gut sein soll. 8Ich kann mir nicht vorstellen, dass eine derart komplexe Aufgabe einfach frei zwischen den Sternen im luftleeren Raum schwebt - da muss etwas dazu gehören....

Bisheriger Lösungsvorschlag:
------------
@echo off
echo 42
------------

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Andrea Siegert Andreas42 „Hi! Das ist doch im Prinzip die gleiche fRage, die du schonmal gestellt hast,...“
Optionen

Ich habe es dir schon mal gesagt, es sind Aufgaben aus einem DOS-Aufgaben heft was ich lernen wollte aber es halt nicht bringe, ich will es einfach nur fertig stellen und dann abharcken!!! Und ohne euch wird es einfach nichts weil ich bei so "einfachen" scheiß schon nicht durch sehe. Das ist meine letzte komplexe Aufgabe wo es am anfang darum geht, eine komfortable Verwaltung von Makros mit hilfe von Batch-Dateien zu erstellen. Mit einem Auswahl Menü usw. und am Anfang brauche ich eine Batch mit der ich auf Wunsch nach jeder Sitzung an meinem pc die Makros sichern kann. Dazu soll ich mit find die Makrodefinitionen aus der Befehlsliste filtern. Dann kommt nachher das Menü usw. aber ich weiß nicht wie ich find dazu einsetzen muß, daher habe ich auch keinen Anfang!

bei Antwort benachrichtigen
Andreas42 Andrea Siegert „Ich habe es dir schon mal gesagt, es sind Aufgaben aus einem DOS-Aufgaben heft...“
Optionen

Hi!

Sorry, das mit dem DOS-Aufgabenheft lese ich zum ersten mal. Ist das eine Fortbildungsgeschichte oder was schuliches?

Zu den Makros:

Aus der Befehlsliste filtern, hört sich gut an - nur gibt es unter DOS keine Befehlsliste, die irgendwo gespeichert wird.
Wenn die Befehlsliste quasi eine Protokolierung der eingebenen Befehlszeilen am DOS-Prompt (der Eingabezeile) ist, dann macht die Aufgabenstellung zar Sinn, weil man solch eine Liste mit FIND filtern kann - der Haken ist aber, dass DOS keine solche Liste erzeugt.

Soviel also zum Sinn der Aufgabenstellung.

Das nächste Problem ist, das AFAIK FIND immer nur eine Zeichenkette (=ein Suchbegriff = ein Makro-Name) suchen kann. Man kann nicht mehrere Suchbegriffe wahweise mit einem Aufruf bearbeiten.

Beispiel:

Wäre ein ein Makro CDBP und die Befehlsliste wäre in der Datei HISTORY.DAT gespeichert, dann kann man sich die Zeilen in HISTRORY.DAT ausgeben lassen, die CDBP enthalten:

FIND "CDBP" HISTORY.DAT

Das ist aber nichts geheimnisvollen, das ist schlicht und einfach die Standardfunktion von FIND. Ich hab' mir die Info dazu besorgt, indem ich mir die Onlinehilfe von FIND hab anzeigen lassen:

[Q:0]C:\>find /?
Durchsucht Dateien nach einer Zeichenfolge.

FIND [/V] [/C] [/N] [/I] "Zeichenfolge" [[Laufwerk:][Pfad]Dateiname[ ...]]
(gekürzt)

Will man das Makro CDWORD suchen, muss man einen zweiten FIND-Aufruf nutzen.
Mit den Parametern von FIND kann man die Ausgabe beeinflussen. Das schreiben der Fundstellen in eine Datei sollte mit Piping gehen.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Andrea Siegert Andreas42 „Hi! Sorry, das mit dem DOS-Aufgabenheft lese ich zum ersten mal. Ist das eine...“
Optionen

Hallo!

Das mach ich für mich nebenbei, mich hat es schon immer interessiert zu Programmieren und da bin ich zu diesen Heften gekommen. Habe mir so gedacht ist was altes und wen du das nicht begreifst, dann brauchst du mit c/c++ oder soetwas garnicht erst anfangen.

Wen ich sage mal gerade einen Makro erstellt oder benutzt habe, z.b.: doskey hdir=dir /p /s /ah wo müßte find suchen? Und irgendwo muß es doch eine Liste geben, denn laut meinem heft kann ich mir ja auch mit der Option /macros des Befehls doskey die Makros anzeigen lassen.

bei Antwort benachrichtigen
Andreas42 Andrea Siegert „Hallo! Das mach ich für mich nebenbei, mich hat es schon immer interessiert zu...“
Optionen

Hi!

Ja, alt ist das schon - aber nicht unbedingt ein Grund auf eine "echte" Sprache wie Basic, Pascal oder C/C++ zu verzichten. (Die Möglichkeiten der DOS-Batches sind IMHO einfach zu eingeschränkt.)

Auf DOSKEY wäre ich übrigends nicht geommen. :-)

Das liegt aber daran, dass mein 1.PC mit DRDOS ausgeliefert wurde und ich mich also mit DRDOS und Novell-DOS befasst habe.
Das war zwar vergleichbar mit MSDOS (auch auf Batch-Ebene), aber DRDOS brauchte kein DOSKEY, die History-Funktionen waren "festeingebaut".

Ich kann,was DOSKEY angeht, nichts testen (ist bei mir nicht installiert). Aber versuche mal, ob man Piping nutzen kann (also das Umlenken der Textausgabe auf andere Befehle oder in Textdateien):

DOSKEY /HISTORY >NEUDAT.TXT

Info:

> erzeigt die Datei
>> fügt an eine vorhandene Datei an

So kann man auch die Ausgaben von FIND verknüpfen.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Andrea Siegert Andreas42 „Hi! Ja, alt ist das schon - aber nicht unbedingt ein Grund auf eine echte...“
Optionen

JA richtig aber die sind doch noch viel schwerer oder nicht?

Ja klar funktioniert, das leitet die vollständige liste der Befehle aus dem Zwischenspeicher in die Datei Neudat.bat nun muß ich mit find die Makrodefinitionen herrausfiltern, weil Befehle wie dir oder copy dort erst garnicht auftauchen sollen. Woran erkenne ich einen Makro, wie läßt der sich finden, ich habe jetzt die Befehle des gesamten Zwischenspeichers in der Datei, ich könnte mir jetzt mit doskey /macros diese anzeigen lassen oder nicht? aber dann habe ich es ja immer noch nicht mit find gefiltert.!?

bei Antwort benachrichtigen
Andrea Siegert Nachtrag zu: „JA richtig aber die sind doch noch viel schwerer oder nicht? Ja klar...“
Optionen

Achso eigendlich kann ich mir doch dann gleich die Makros umleiten lassen (doskey /makros > Neudat.bat)oder nicht? Und nun die Makrodefinitionen filtern, das Befehle wie dir oder copy nicht dabei sind. Was ja eigentlich überflüssig ist, da ja nur Makros umgeleitet wurden. Ist das soweit richtig?

bei Antwort benachrichtigen
REPI Andrea Siegert „Achso eigendlich kann ich mir doch dann gleich die Makros umleiten lassen doskey...“
Optionen

JA !!!!, hättest ja gleich schreiben können, dass es sich um Doskey Macrovereinbarungen handelt !!



Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
Andreas42 Andrea Siegert „Achso eigendlich kann ich mir doch dann gleich die Makros umleiten lassen doskey...“
Optionen

Hi!

Ich denke mit DOSKEY /MAKROS wird eine Liste der angelegten Makros ausgegeben (also die Makros die DOSKEY verwaltet).

Das können natürlich maximal die sein, die auch mit der HISTORY-Funktion angezeigt werden, aber man muss ja nicht immer alle vorhandenen MAKROS nutzen.

Irgendwie ist das eine sehr merkwürdige Aufgabe... :-/

Ich würde sowas mit Turbo-Pascal erledigen. Mir wäre das mit DOS-Batchdateien zu umständlich. (Allerdings hab' ich sowieso schon einiges an Quelltexten, dass man für die Entwicklung einsetzen könnte.)

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Andrea Siegert Andreas42 „Hi! Ich denke mit DOSKEY /MAKROS wird eine Liste der angelegten Makros...“
Optionen

Ja das ist sie ziehmlich komplieziert und das war erst der Anfang davon, selbst denn bekomme ich nicht zustande. OK hat jemand lust und Zeit mit mir die komplette aufgabe durch zu gehen? Bin total hin und habe auch nichts weiter im Netz gefunden was mir helfen könnte.

bei Antwort benachrichtigen
Kolti Andreas42 „Hi! Ich denke mit DOSKEY /MAKROS wird eine Liste der angelegten Makros...“
Optionen

Hi, Andreas.
Ich bewundere Deine Bemühungen.
Generell werden unter DOS Makros nur mit Doskey gemacht.
doskey makroname=alle Befehle
Mit doskey /h (istory) wird der gesamte Speicher angezeigt,
mit doskey /m (acros) nur die vorhanden Makros.
Selbstverständlich kann man die Ausgabe vom Bildschirm in eine Datei umleiten, neu oder anhängen ist optional, und in dieser Datei kann man dann mit find "doskey" xxx.txt die Befehle ausfiltern.

bei Antwort benachrichtigen
Andreas42 Kolti „@Andreas42“
Optionen

Hi!

Danke für die Blumen.

Was DOSKEY nageht, ist das schön das dies alles geht - aber das muss ich nicht mehr wirlich alles ausprobieren, oder? ;-)

Ich weiss nicht, ob DRDOS auch Makros kannte, aber dieser alte COMMAND.COM-Ersatz konnte das auch (kann mich nicht an den Namen erinnern, war auf jedenfall Shareware und gab's auch für OS/2 und NT).

Ich hab' vor Jahren angefangen einen eigenen DOS-Prompteditor zu schreiben, den ich auch heute noch verwende. Der kennt auch Makros (allerdings nenne ich das dort ALIAS-Abkürzungen), also musste ich mich nie mit DOSKEY rumschlagen (ich hab' das Teil für Speicherverschwendung gehalten).


Ich hoffe ich hab' nichts verpoasst. ;-)

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen