Come eseguire Cmd.exe in modo silenzioso?


23

Uso il codice seguente nella finestra di dialogo Esegui di Windows XP.

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

È possibile sostituire il percorso del programma con qualsiasi programma installato sul proprio sistema. Il problema è che Photoshop si avvia ma la finestra di cmd.exe continua a funzionare. Non voglio pop-up file cmd.exe. È possibile avviare un programma tramite cmd senza aprire una finestra cmd.exe? Ho bisogno di lavorare cmd in silenzio. A proposito, ho bisogno di questo codice per un programma. Quindi ho bisogno di avviare il programma tramite cmd ma senza la finestra di cmd.exe spuntare.

Ulteriori commenti

Perché userò quel codice in un programma. Il programma può avviare exe cmd. Ma il problema è che non sappiamo quale versione di Photoshop è installata. Quindi può essere Photoshop CS4 o Photoshop CS5. Normalmente quando digiti sotto il codice in Esegui ottieni Photoshop indipendentemente da quale sia installato.

photoshop

Quindi voglio avviare Photoshop con questo metodo. Il programma avvierà cmd come Esegui sopra ma qualcosa di simile al di sotto:

cmd /c photoshop

Ma non funziona E anche la finestra cmd appare. Voglio far funzionare il processo in silenzio. Inoltre non dovremmo installare nessun altro strumento. Voglio una soluzione che funzionerà su un Windows predefinito.


6
Perché usare cmd.exe invece di avviare direttamente Photoshop, se non si desidera CMD in primo luogo?
CarlF,

Prova cmd.exe / q / c [comando]
qroberts,

No, non funzionerà. Provaci! Inoltre, sarebbe / q / c comando se qualcosa cmd / q / c "c: \ programmi \ microsoft office \ office11 \ winword.exe" Notare che si apre la finestra di comando. Non lo vuole. Se l'avessi provato, lo avresti saputo !!
barlop,

3
Non c'è bisogno di arrabbiarsi. Inoltre, l'interrogante è una femmina, non un maschio.
qroberts,

1
CMDOW presumibilmente lo fa.
CGA

Risposte:


22

Il problema è che il Prompt dei comandi (cmd) non può terminare: è bloccato lì sullo schermo in attesa che Photoshop termini.

Per avviare Photoshop in un file bat e consentire al file batch di continuare e terminare, utilizzate il comando start , che avvia un programma o un comando specificato in una finestra separata .

Per esempio:

start "" "C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe"

3
il comando di avvio non viene eseguito da una finestra di comando? nel qual caso sarebbe spuntata una finestra di comando. Penserei che una volta in cmd.exe, l'unico vantaggio per iniziare, sarebbe che ti consente di scegliere se lo vuoi minimizzato o massimizzato .. ma se non lo vuole affatto lì ... come sarebbe d'aiuto? E se utilizza start da cmd.exe, può anche digitare semplicemente il percorso del programma senza avvio.
barlop,

@barlop: senza avvio, lo script viene bloccato fino al termine del programma. Con start, lo script può terminare e scomparire.
harrymc,

per interesse, cosa intendi con lo script .. vuoi dire che stanno facendo start blah.vbs "c: \ .... \ photoshop.exe"? e avendo blah.vbs (un file di script) avviarlo?
barlop,

@barlop: intendevo solo il vecchio e vero file bat, che presumo sia quello che usa il poster. Ho cambiato il file script-> bat.
harrymc,

5

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

Tu puoi fare

  • inizia ... corri
  • c:\hstart\hstart.exe /NOCONSOLE "cmd /c "c:\program files\microsoft office\office11\winword.exe""

o crea un'icona.

Alcuni lo usano per eseguire file bat .. (altri lo fanno da un vbs che può anche eseguirlo cmd.exee nascondere la finestra di comando) .. ma è possibile utilizzare hstart.

Faccio eco ad altri, dato che se stai eseguendo un EXE, se avvii..run..pathofexe o crei un'icona per esso, non verrà avviato un prompt dei comandi. Quindi perché vuoi avviarlo da cmd.exe?

Inoltre, nota .. in dos e windows usi le barre rovesciate nei percorsi delle directory. Le barre dirette sono per URL o percorsi di directory in unix o linux.


Sai cosa hstartsta facendo? Come nasconde la finestra creata?
Ross Rogers,

1
@RossRogers Non lo so, ma forse API Monitor ti direbbe apimonitor.com e anche vbscript può nascondere una finestra. superuser.com/questions/62525/run-a-completly-hidden-batch-file e che menziona un programma chiamato Quiet, da questo sito joeware.net joeware.net/freetools/tools/quiet/index.htm che menziona che il suo il programma utilizza ShellExecuteEx per farlo.
barlop

3

L'opzione migliore è chiedere cosa stai cercando di fare. Se si richiede il 'codice' per un programma, perché non si utilizza Shell execute?

E non riesco a immaginare quale flusso di lavoro legittimo richiederebbe che venga chiamata la riga di comando, che a sua volta eseguirà un eseguibile.


3

C'è uno strumento chiamato Quiet che puoi usare per raggiungere questo obiettivo. Passa semplicemente il tuo file .exe o .bat come argomento. Per questo, è sufficiente creare un collegamento al prompt dei comandi cmd sul desktop. Quindi ottieni le proprietà del collegamento al prompt dei comandi che hai creato. Successivamente, nella scheda "Collegamento", compila il campo "Destinazione" in questo modo:

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

Se si fa doppio clic sul collegamento, il processo verrà avviato e sarà possibile verificarlo tramite l'elenco dei processi, in Gestione attività.

Si noti che non dovrebbero esserci spazi vuoti nel percorso di Quiet.exe e del file .exe o .bat.


Quietsembra funzionare su Windows NT fino a XP. Non dice nulla su Windows 10. Pensi che potrebbe essere sicuro usarlo su Windows 10?
Henrik,

@Henrik cosa intendi con 'sicuro'? Non lo romperà. Tentar non nuoce!
barlop

@Henrik Non farò alcun male, provalo.
Mostafa,

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

• il [percorso] \ nome del tuo eseguibile.
• tutti gli altri argomenti necessari al tuo script (% *) - Solo per eseguire l'exe in background.


Questo non funziona Fornisce un messaggio di errore "Impossibile trovare il file% *"
DavidPostill

Funziona senza la %*parte.
Jin Kwon il


0

Perché non usarlo?

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

1
Puoi spiegare questa risposta in modo più dettagliato?
bwDraco,

Dopo aver provato tutto il resto, solo questo ha aiutato. Grazie. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
James Koss,

-2

Alla fine ho capito un modo in cui almeno in Windows 10 sembra nascondere / chiudere le finestre cmd in una scorciatoia per cui ho cercato di trovare una soluzione. Ecco cosa uso per aprire Utenti e computer di Active Directory tramite runas con un altro accesso al dominio.

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

forse "cmd / c start" è una soluzione facile ...


Perché menzioni Windows 10. L'utente stava usando Windows XP. Hai verificato almeno che funziona su Windows XP?
Ramhound,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.