Inhalt einer Datei (TXT) auslesen und an Programm übergeben

  • Moin moin zusammen!

    Ich möchte mich zunächst einmal für die zahlreichen Hilfestellungen bei meinem letzten Problem bei allen Postern bedanken, das war echt klasse!

    Nun suche ich eine Möglichkeit, den Inhalt einer Textdatei an ein Programm zu übergeben. Ich möchte das "Send to.."-Menü um einige Funktionen erweitern und bastel gerade an einer Lösung. Gibt es hier eine Möglichkeit?

    Kurz zusammengefaßt: Rechtsklick auf Zieldatei, Senden an klappt auf, das Ziel (in diesem Fall das selbstgebaute Script) erscheint und übernimmt den Rest (Inhalt auslesen, anderes Prog starten, dort einfügen und einige Tastenbefehle ausführen).

    Besten Dank schonmal im voraus für jedwede Tipps! :) :)

  • Senden an: Nimmst du FileWrite
    Auslesen: FileRead
    Progstarten: Run oder Shellexecute
    Woreinschreiben: FileWrite oder ControlSend
    Befehle: Send oder ControlSend

  • Hi I3iLLiG.

    Danke für die Tipps. Wenn ich allerdings die AutoIt Help richtig verstanden habe, muß ich zum Auslesen einen Dateinamen bzw. das entsprechende Handle angeben. Das bringt mir aber sinngemäß nichts, weil ich das Script für folgendes Szenario nutzen will:

    Ein bestimmter Dateityp (reiner Text) muß mittels eines Tools an CNC-Maschinen übertragen werden. Bisher lief das folgendermaßen:

    - Ein User öffnet sein Datenübertragungstool und muß den extrem klein geratenen integr. Dateibrowser (nicht änderbares Fensterchen mit ~100x80px) zum Suchen der Datei benutzen
    - hat er die Datei gefunden, markiert er diese, klickt auf "LOAD" (ALT+L) und anschließend auf "SEND" (ALT+S)

    Da die Dateien in einem regelrechten Jungel liegen (tief verschachtelt und vor allem lange Ordnernamen, welche natürlich in so nem Popelfenster kaum zu lesen sind) wollte ich es den Usern nun ermöglichen, diese Dateien direkt per Rechtsklick und Send to-Befehl aus dem Explorer heraus an die jeweilige Maschine zu schicken.

    Das sähe dann beim Aufruf so aus: Send to XYZ 123 liest den Dateiinhalt, kopiert selbigen in die Zwischenablage, ruft das Datenübertragungstool mit einigen Parametern auf, drückt 8x TAB, 1x ALT+L und einmal ALT+S. Die ControlSend und Run-Befehle sind nicht das Problem, sondern nur der Schritt, daß beim Aufruf des Send to der Inhalt der ausgewählten Datei gelesen wird.

    Grüße

    :rock:

  • Hallo Higgi,

    wenn Du eine Datei an einen Eintrag in Senden an schickst, wird dieser Eintrag mit dem Dateinamen als Paramter aufgerufen.

    Also musst Du im Senden An Ordner einen Link auf Dein kompiliertes Script hinterlegen, und im Script die Kommandozeilenparameter auswerten. In AutoIt gibt es dafür das Array $CmdLine, das in [0] die Anzahl der Parameter und in [1] den ersten, usw, enthält.

    Dann kannst Du die Datei in Deinem Script verwenden.

    Gruß,

    TrueMu