Menu

Externes Programm ausführen mit mehreren Kommandos

kean
2015-03-31
2015-04-01
  • kean

    kean - 2015-03-31

    Ich schreibe in NPP Perlscripte welche ich normalerweise über die Konsole starte.
    Dieses Starten würde ich gerne direkt in NPP erledigen.

    Wenn ich aber unter "Ausführen"->"externes Programm ausführen" durch die Variable "$(FULL_CURRENT_PATH)" mein Script starte, wird es sofort wieder geschlossen, da es nicht im Remote Verzeichnis aufgerufen wird und somit abhängige Dateien nicht findet.

    In einer Batchdatei kann ich den Aufruf so lösen: pushd "$(CURRENT_DIRECTORY)" & cmd /k "$(FULL_CURRENT_PATH)"

    Leider scheint NPP aber keinen zweiten Befehl mit einem & zu aktzeptieren. Hat vielleicht jemand eine Idee wie ich das anders lösen kann?

     
  • Thomas

    Thomas - 2015-04-01

    Moin, moin,

    Ich nutzte für solche Dinge das NppExec plugin.

    Nach dem Drücken von F6 sollte ein Fenster (Titel: Execute) aufgehen, in Du mehrere Zeilen eintippen kannst. Für Dein obiges Beispiel sollte folgendes funktionieren:

    NPP_SAVE
    cd "$(CURRENT_DIRECTORY)"
    cmd /k "$(FULL_CURRENT_PATH)"
    

    Funktion:

    1. Sichern der aktuellen Dateien. Dann kann das nicht vergessen werden und es wird immer die Version der Datei ausgeführt, die gerade im Editor steht. Dabei besteht natürlich die Gefahr, sich aus Versehen ein funktionierendes Skript zu überschreiben.

    2. In das Verzeichnis der aktuellen Datei wechseln

    3. Aktuelle Datei über CMD.EXE starten

    Bemerkungen:

    • Falls NppExec nicht installiert ist, muss das nachgeholt werden. Das geht über den Plugin-Manager oder manuell.

    • Eventuell ist die F6 Taste nicht oder anders belegt. Dann kannst Du das Ausführen auch über das Menü erreichen: "Erweiterungen" -> "NppExec" -> "Execute..."

    Gruß
    Thomas