2016-03-25 22 views
1

Dies macht mich verrückt. Ich habe eine hübsche Anwendung, die ... nun, Dinge. Um es zu starten, müssen einige start.cmd ausgeführt werden. Was start.cmd tut ist, einige Umgebungsvariablen einzurichten, ein paar Dinge zu überprüfen und dann mein GUI-Hauptprogramm zu starten.Führen Sie einen versteckten Cmd auf Klick

Jetzt funktioniert alles gut: wenn ich auf meine start.cmd klicke, wird alles richtig gestartet. Wenn Sie jedoch auf start.cmd klicken, wird ein hässlicher, hässlicher cmd.exe für einen Augenblick angezeigt und verschwindet dann. Das ist inakzeptabel!

Ich begann mich umzusehen und ich fand this. Es schlägt vor, einige wscript invisible.vbs zu verwenden, um meine start.cmd zu laufen. Dies funktioniert jedoch gut vom Terminal, aber ich kann nicht auf invisible.vbs direkt klicken, um zu bekommen, was ich brauche.

Hier dachte ich, dass ich Shortcut mit dem wscript invisible.vbs start.cmd Befehl darin verwenden könnte. Sie können jedoch keine relativen Pfadverknüpfungen in Windows erstellen, dh wenn ich eine Verknüpfung verwende, kann ich meinen Ordner nie wieder verschieben, was ziemlich schlimm ist, wenn ich ihn auf den Computern meiner Benutzer installieren muss.

So habe ich wirklich keine Ahnung, wie diese scheinbar triviale Sache zu erledigen: wie kann ich einestart.cmdBatch-Datei, ohne irgendetwas ausgeführt bekommen zeigt und, ohne etwas von dem Terminal starten zu müssen, und in einer Weise, die es mir erlaubt, meinen Ordner herum zu bewegen?

+0

Können Sie eine Verknüpfung zu 'wscript.exe' mit' invisible.vbs' als Argument verwenden? – MooseBoys

+0

Ja ich kann aber ich müsste als Arbeitsverzeichnis den Ordner wo sich mein Programm befindet wscript zur Verfügung stellen. Ich müsste dann seinen absoluten Pfad kennen, was bedeuten würde, dass es unmöglich wäre, meinen Ordner zu verschieben, ohne die Verknüpfung zu unterbrechen. Habe ich recht? –

Antwort

0

Überprüfen Sie die hidder.bat. Sie können es verwenden, um eine .bat oder .exe Datei in IExpress ausführbare Datei wickeln, die Sie in versteckten mode.To lief wird verwenden müssen:

hidder.bat example.bat hiddenExample.exe 

diese Linie ein hiddenExample.exe schaffen, die Ihre Schläger in versteckten geklickt wird gestartet/Hintergrundmodus.Sie können auch einen Blick darauf werfen question

+0

Das wäre genau das, was ich brauchen würde! Jedoch. das scheint nicht zu funktionieren. Ich habe ein Beispiel 'test.bat' Skript mit' ECHO mytest> test.txt' darin gemacht. Wenn ich darauf klicke, erscheint eine 'test.txt' Datei mit' mytest' darin. Jetzt starte ich 'hidder.bat test.bat test.exe'. Einige "test.exe" wird generiert. Wenn ich darauf klicke, passiert gar nichts. Ich benutze Windows 10 ... könnte das ein Problem sein? –

+0

@MatteoMonti - iexpress führt seine Post-Extraktionsbefehle in Verzeichnissen wie '% temp% \ IXPXXX.TMP' (aber nicht im aktuellen Verzeichnis) aus und wenn es fertig ist, wird der Ordner gelöscht. Sie können keine Argumente an die erstellte EXE übergeben. Also in Ihrem Schläger müssen Sie den Pfad zu der Datei, die Sie ausgeben möchten, fest codieren. Beispiel: echo test>% temp% \ mytestFile.txt' – npocmaka

+0

Das bringt mich zu dem vorherigen Problem zurück, das ich niemals schaffen würde um meinen Ordner zu bewegen! Schade! –

Verwandte Themen