Jak wykonać Cmd.exe po cichu?


23

Używam poniższego kodu w oknie dialogowym Uruchamianie systemu Windows XP.

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

Możesz zamienić ścieżkę programu na dowolny program zainstalowany w systemie. Problem polega na tym, że Photoshop uruchamia się, ale okno cmd.exe nadal się utrzymuje. Nie chcę, aby plik cmd.exe pojawił się. Czy można uruchomić program za pomocą cmd bez otwierania okna cmd.exe? Potrzebuję cmd pracy w ciszy. BTW, potrzebuję tego kodu do programu. Więc muszę uruchomić program za pomocą cmd, ale bez wyskakującego okna cmd.exe.

Dalsze komentarze

Ponieważ użyję tego kodu w programie. Program może zainicjować exe cmd. Problem w tym, że nie wiemy, która wersja Photoshopa została zainstalowana. Może to być Photoshop CS4 lub Photoshop CS5. Zwykle po wpisaniu poniżej kodu w polu Uruchom otrzymasz Photoshop bez względu na to, który program jest zainstalowany.

photoshop

Więc chcę zainicjować Photoshopa tą metodą. Program zainicjuje cmd jako Uruchom powyżej, ale coś w stylu poniżej:

cmd /c photoshop

Ale to nie działa. I nawet pojawia się okno cmd. Chcę, aby proces przebiegał w trybie cichym. Nie powinniśmy też instalować żadnego innego narzędzia. Chcę rozwiązania, które będzie działać w domyślnym systemie Windows.


6
Po co używać cmd.exe zamiast bezpośredniego uruchamiania Photoshopa, jeśli nie chcesz CMD?
CarlF,

Spróbuj cmd.exe / q / c [polecenie]
qroberts

Nie, to nie zadziała. Spróbuj! Byłoby to również polecenie / q / c, jeśli cokolwiek cmd / q / c "c: \ program files \ microsoft office \ office11 \ winword.exe" Zauważ, że wyskakuje okno poleceń. On tego nie chce. Gdybyś spróbował, wiedziałbyś o tym !!
barlop

3
Nie musisz się tym denerwować. Pytającym jest także kobieta, a nie mężczyzna.
qroberts

1
CMDOW podobno to robi.
CGA

Odpowiedzi:


22

Problem polega na tym, że Wiersz polecenia (cmd) nie może się zakończyć - utknął tam na ekranie, czekając na zakończenie Photoshopa.

Aby uruchomić program Photoshop w pliku nietoperza i pozwolić, aby plik wsadowy był kontynuowany i zakończony, użyj polecenia start , które uruchamia określony program lub polecenie w osobnym oknie.

Na przykład:

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

3
czy polecenie start nie jest uruchamiane z okna poleceń? w takim przypadku pojawi się okno poleceń. Myślę, że raz w cmd.exe, jedyną zaletą na początek, byłoby to, że pozwala ci wybrać, czy chcesz go zminimalizować, czy zmaksymalizować ... ale jeśli w ogóle nie chce go tam ... jak to mogłoby pomóc? A jeśli używasz startu z cmd.exe, to równie dobrze może po prostu wpisać ścieżkę programu bez uruchamiania.
barlop

@barlop: Bez uruchomienia skrypt jest zawieszany do czasu zakończenia programu. Po uruchomieniu skrypt może zakończyć się i zniknąć.
harrymc

poza interesem, co masz na myśli przez skrypt ... masz na myśli, że zaczynają blah.vbs "c: \ .... \ photoshop.exe"? i uruchomienie blah.vbs (plik skryptu)?
barlop

@barlop: Miałem na myśli stary i prawdziwy plik nietoperza, który, jak zakładam, jest tym, czego używa plakat. Zmieniłem skrypt-> plik nietoperza.
harrymc

5

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

Możesz to zrobić

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

lub utwórz ikonę.

Niektórzy używają go do uruchamiania plików nietoperzy .. (inni robią to z VBS, który może również uruchamiać go cmd.exei ukrywać okno poleceń) .. Ale możesz użyć hstart.

Powtarzam też innym, ponieważ ponieważ uruchamiasz plik EXE, jeśli uruchomisz plik .. uruchom..pathofexe lub utworzysz dla niego ikonę, wiersz polecenia nie zostanie uruchomiony. Dlaczego więc chcesz go uruchomić z cmd.exe?

Uwaga: w dos i Windows używasz ukośników odwrotnych w ścieżkach katalogów. Ukośniki do przodu dotyczą adresów URL lub ścieżek katalogów w systemie Unix lub Linux.


Czy wiesz co hstartsię dzieje? Jak ukrywa utworzone okno?
Ross Rogers

1
@RossRogers Nie wiem, ale może API Monitor powie ci apimonitor.com, a także vbscript może ukryć okno. superuser.com/questions/62525/run-a-completly-hidden-batch-file i który wspomina program o nazwie Quiet, z tej strony joeware.net joeware.net/freetools/tools/quiet/index.htm, który wspomina, że ​​jego program używa do tego ShellExecuteEx.
barlop

3

Najlepszą opcją jest zapytanie, co próbujesz zrobić. Jeśli potrzebujesz „kodu” dla programu, dlaczego nie używasz wykonywania Shell?

I nie wyobrażam sobie, jaki prawidłowy przepływ pracy wymagałby wywołania wiersza poleceń, który z kolei uruchomiłby plik wykonywalny.


3

Istnieje narzędzie o nazwie Quiet , którego można użyć do osiągnięcia tego celu. Po prostu przekaż mu swój plik .exe lub .bat jako argument. W tym celu po prostu utwórz skrót na pulpicie polecenia cmd. Następnie uzyskaj właściwości utworzonego skrótu wiersza polecenia. Następnie na karcie „Skrót” wypełnij pole „Cel” w następujący sposób:

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

Po dwukrotnym kliknięciu skrótu proces zostanie uruchomiony i możesz to sprawdzić na liście procesów w menedżerze zadań.

Zauważ, że w ścieżce do pliku Quiet.exe i pliku .exe lub .bat nie powinno być żadnych białych znaków.


Quietwydaje się działać w systemie Windows NT do XP. Nic nie mówi o systemie Windows 10. Czy uważasz, że korzystanie z niego w systemie Windows 10 może być bezpieczne?
Henrik

@Henrik, co masz na myśli mówiąc „bezpieczny”? Nie złamie tego. Próbowanie nie zaszkodzi!
barlop

@Henrik Nie zrobię nic złego, spróbuj.
Mostafa,

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

• [ścieżka] \ nazwa pliku wykonywalnego.
• wszystkie inne argumenty potrzebne w twoim skrypcie (% *) - Tylko do wykonania exe w tle.


To nie działa Wyświetla komunikat o błędzie „System nie może znaleźć pliku% *”
DavidPostill

Działa bez %*części.
Jin Kwon,


0

Dlaczego tego nie użyć?

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

1
Czy możesz wyjaśnić tę odpowiedź bardziej szczegółowo?
bwDraco,

Po wypróbowaniu wszystkiego innego tylko to pomogło. Dzięki. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
James Koss

-2

W końcu doszedłem do wniosku, że przynajmniej w Windows 10 wydaje się ukrywać / zamykać okna cmd w skrócie, dla którego próbowałem znaleźć rozwiązanie. Oto, czego używam do otwierania użytkowników i komputerów usługi Active Directory za pomocą run z innym loginem domeny.

runas.exe / savecred / user: domain \ nazwa użytkownika "cmd / c start mmc C: \ Windows \ System32 \ dsa.msc"

być może „cmd / c start” to łatwe rozwiązanie ...


Dlaczego wspominasz o systemie Windows 10. Użytkownik korzystał z systemu Windows XP. Czy przynajmniej sprawdziłeś, czy to działa w systemie Windows XP?
Ramhound,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.