Wie man Cmd.exe still ausführt?

23

Ich verwende den folgenden Code im Dialogfeld "Ausführen" von Windows XP.

cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe"

Sie können den Programmpfad jedes auf Ihrem System installierten Programms ersetzen. Das Problem ist, dass Photoshop gestartet wird, das Fenster cmd.exe jedoch weiterhin angezeigt wird. Ich möchte nicht cmd.exe-Datei Pop-up. Ist es möglich, ein Programm über cmd zu starten, ohne ein cmd.exe-Fenster zu öffnen? Ich muss leise arbeiten. Übrigens brauche ich diesen Code für ein Programm. Also muss ich das Programm über cmd starten, ohne dass das Fenster cmd.exe auftaucht.

Weitere Kommentare

Weil ich diesen Code in einem Programm verwenden werde. Das Programm kann die cmd exe starten. Das Problem ist jedoch, dass wir nicht wissen, welche Version von Photoshop installiert ist. Es kann sich also um Photoshop CS4 oder Photoshop CS5 handeln. Wenn Sie unter Ausführen den folgenden Code eingeben, erhalten Sie normalerweise Photoshop, unabhängig davon, welcher installiert ist.

photoshop

Daher möchte ich Photoshop mit dieser Methode starten. Das Programm startet cmd wie oben ausgeführt, aber so ähnlich wie unten:

cmd /c photoshop

Aber es funktioniert nicht. Und sogar das cmd-Fenster erscheint. Ich möchte, dass der Prozess im Hintergrund abläuft. Wir sollten auch kein anderes Tool installieren. Ich möchte eine Lösung, die auf einem Standard-Windows funktioniert.

BinaryMisfit
quelle
6
Warum sollten Sie cmd.exe verwenden, anstatt Photoshop direkt zu starten, wenn Sie CMD gar nicht erst möchten?
CarlF
Versuchen Sie cmd.exe / q / c [Befehl]
qroberts
Nein, das wird nicht funktionieren. Du versuchst es! Es wäre auch der Befehl / q / c, wenn etwas Cmd / q / c "c: \ Programme \ Microsoft Office \ Office11 \ winword.exe" erscheint. Beachten Sie, dass das Befehlsfenster erscheint. Er will das nicht. Wenn du es versucht hättest, hättest du das gewusst !!
Barlop
3
Keine Notwendigkeit, sich darüber aufzuregen. Der Fragesteller ist auch eine Frau, kein Mann.
Qroberts
1
CMDOW macht das angeblich.
CGA

Antworten:

22

Das Problem ist, dass die Eingabeaufforderung (cmd) nicht beendet werden kann - sie bleibt dort oben auf dem Bildschirm hängen und wartet darauf, dass Photoshop beendet wird.

Verwenden Sie zum Starten von Photoshop in einer Bat-Datei und zum Fortsetzen und Beenden der Batch-Datei den Befehl start , mit dem ein bestimmtes Programm oder ein Befehl in einem separaten Fenster gestartet wird.

Beispielsweise:

start "" "C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe"
Harrymc
quelle
3
wird der Startbefehl nicht über ein Befehlsfenster ausgeführt? In diesem Fall wäre ein Befehlsfenster aufgetaucht. Ich würde denken, dass einmal in cmd.exe, der einzige Vorteil zu starten wäre, dass Sie wählen können, ob Sie es minimiert oder maximiert haben möchten .. aber wenn er es überhaupt nicht dort haben möchte .. wie würde es helfen? Und wenn er start from cmd.exe verwendet, kann er auch einfach den Pfad des Programms ohne Start eingeben.
Barlop
@barlop: Ohne Start wird das Skript eingefroren, bis das Programm beendet wird. Mit start kann das Skript beendet werden und verschwinden.
Harrymc
aus interesse, was meinst du mit dem script .. meinst du sie tun start blah.vbs "c: \ .... \ photoshop.exe"? und mit blah.vbs (eine Skriptdatei) starten?
Barlop
@barlop: Ich meinte nur die alte und wahre Fledermausdatei, von der ich annehme, dass sie auf dem Poster verwendet wird. Ich habe script-> bat file geändert.
Harrymc
5

HSTART http://www.ntwind.com/software/utilities/hstart.html

Du kannst tun

  • starte den Lauf
  • c:\hstart\hstart.exe /NOCONSOLE "cmd /c "c:\program files\microsoft office\office11\winword.exe""

oder erstellen Sie ein Symbol.

Einige verwenden es, um bat-Dateien auszuführen. (Andere tun dies über ein vbs, das es auch ausführen cmd.exeund das Befehlsfenster ausblenden kann hstart. ) Sie können es jedoch verwenden .

Ich gebe jedoch andere wieder, da Sie eine EXE-Datei ausführen. Wenn Sie ... run ... pathofexe starten oder ein Symbol dafür erstellen, wird keine Eingabeaufforderung gestartet. Warum soll es dann von cmd.exe gestartet werden?

Beachten Sie auch, dass Sie in DOS und Windows Backslashes in Verzeichnispfaden verwenden. Schrägstriche stehen für URLs oder Verzeichnispfade unter Unix oder Linux.

barlop
quelle
Weißt du was hstartes tut? Wie versteckt es das erstellte Fenster?
Ross Rogers
1
@ RossRogers Ich weiß nicht, aber vielleicht würde API Monitor Ihnen sagen, apimonitor.com und auch, vbscript kann auch ein Fenster verstecken. superuser.com/questions/62525/run-a-completly-hidden-batch-file und das erwähnt ein Programm namens Quiet, von dieser Site joeware.net joeware.net/freetools/tools/quiet/index.htm, die erwähnt, dass sein Das Programm verwendet dazu ShellExecuteEx.
Barlop
3

Am besten fragen Sie, was Sie tun möchten. Wenn Sie den 'Code' für ein Programm benötigen, warum verwenden Sie nicht Shell execute?

Und ich kann mir nicht vorstellen, für welchen legitimen Arbeitsablauf ein Aufruf der Befehlszeile erforderlich wäre, die wiederum eine ausführbare Datei ausführen würde.

Devdatta Tengshe
quelle
3

Es gibt ein Tool namens Quiet , mit dem Sie dies erreichen können. Übergeben Sie einfach Ihre EXE- oder BAT-Datei als Argument. Erstellen Sie dazu einfach eine Verknüpfung mit der Eingabeaufforderung cmd auf Ihrem Desktop. Rufen Sie dann die Eigenschaften der von Ihnen erstellten Eingabeaufforderungsverknüpfung ab. Füllen Sie anschließend auf der Registerkarte "Verknüpfung" das Feld "Ziel" folgendermaßen aus:

[pathToQuiet.exe] [pathToThe(.exe)/(.bat)file]

Wenn Sie auf die Verknüpfung doppelklicken, wird Ihr Prozess gestartet, und Sie können dies über Ihre Prozessliste im Task-Manager überprüfen.

Beachten Sie, dass der Pfad zu Quiet.exe und Ihrer EXE- oder BAT-Datei keine Leerzeichen enthalten darf.

Mostafa
quelle
Quietscheint unter Windows NT bis XP zu laufen. Sagt nichts über Windows 10 aus. Glauben Sie, dass die Verwendung unter Windows 10 sicher ist?
Henrik
@Henrik was meinst du mit "sicher"? Es wird es nicht brechen. Es kann nicht schaden, es zu versuchen!
Barlop
@ Henrik Ich werde keinen Schaden anrichten, versuche es.
Mostafa
2
cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe" %*

• den [Pfad] \ Namen Ihrer ausführbaren Datei.
• alle anderen Argumente, die von Ihrem Skript benötigt werden (% *) - Nur um die exe im Hintergrund auszuführen.

user2361573
quelle
Das geht nicht. Es erscheint die Fehlermeldung "Das System kann die Datei% * nicht finden"
DavidPostill
Funktioniert ohne das %*Teil.
Jin Kwon
1

Wenn Sie einen Befehl ausführen und die Eingabeaufforderung dann sofort beenden möchten, können Sie dies tun ...

cmd / c "C: // Programme / Adobe / Adobe Photoshop CS4 / Photoshop.exe" && beenden

http://www.thewindowsclub.com/command-prompt-tricks-windows (Siehe Abschnitte zum Ausführen mehrerer Befehle)

user472096
quelle
0

Warum nicht nutzen?

cmd /c start "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe exit"
Bats92
quelle
1
Können Sie diese Antwort näher erläutern?
bwDraco
Nachdem ich alles andere ausprobiert hatte, half nur dies. Vielen Dank. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
James Koss
-2

Ich habe endlich herausgefunden, wie zumindest in Windows 10 die cmd-Fenster in einer Verknüpfung, für die ich versucht habe, eine Lösung zu finden, ausgeblendet / geschlossen werden. Folgendes verwende ich, um Active Directory-Benutzer und -Computer über Runas mit einer anderen Domänenanmeldung zu öffnen.

runas.exe / savecred / user: domain \ benutzername "cmd / c start mmc C: \ Windows \ System32 \ dsa.msc"

vielleicht ist "cmd / c start" eine einfache lösung ...

Alyx Jones
quelle
Warum erwähnen Sie Windows 10. Der Benutzer verwendete Windows XP. Haben Sie zumindest überprüft, ob dies unter Windows XP funktioniert?
Ramhound