Як безшумно виконувати Cmd.exe?


23

Я використовую наведений нижче код у діалоговому вікні Запуск Windows XP.

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

Ви можете замінити програмний шлях будь-якою програмою, встановленою у вашій системі. Проблема полягає в запуску Photoshop, але вікно cmd.exe все ще зберігається. Я не хочу, щоб файл cmd.exe спливав. Чи можливо запустити програму через cmd, не відкриваючи вікно cmd.exe? Мені потрібна робота cmd мовчки. До речі, мені потрібен цей код для програми. Тому мені потрібно запустити програму через cmd, але без спливаючого вікна cmd.exe.

Подальші коментарі

Тому що я буду використовувати цей код у програмі. Програма може ініціювати exe cmd. Але проблема в тому, що ми не знаємо, яка версія Photoshop встановлена. Тож це може бути Photoshop CS4 або Photoshop CS5. Зазвичай при введенні нижче коду в Run ви отримуєте Photoshop незалежно від того, який встановлений.

photoshop

Тому я хочу ініціювати Photoshop саме цим методом. Програма ініціює cmd як Виконати вище, але щось подібне нижче:

cmd /c photoshop

Але це не працює. І навіть з'являється вікно cmd. Я хочу, щоб процес пройшов безшумно. Також ми не повинні встановлювати будь-який інший інструмент. Я хочу рішення, яке буде працювати в Windows за замовчуванням.


6
Навіщо використовувати cmd.exe, а не просто запускати Photoshop безпосередньо, якщо ви не хочете в першу чергу CMD?
CarlF

Спробуйте cmd.exe / q / c [команда]
qroberts

Ні, це не спрацює. Ви спробуйте! Крім того, було б команда / q / c, якщо щось cmd / q / c "c: \ програмні файли \ microsoft office \ office11 \ winword.exe" Зверніть увагу, що з'являється вікно команди. Він цього не хоче. Якби ти спробував це, ти знав би це !!
барлоп

3
Не потрібно засмучуватися через це. Також запитувач - це жінка, а не чоловік.
qroberts

1
CMDOW нібито робить це.
CGA

Відповіді:


22

Проблема полягає в тому, що командний рядок (cmd) не може завершитися - він застряг там на екрані, очікуючи, що Photoshop завершиться.

Щоб запустити Photoshop у bat-файлі та дозволити продовжувати і закінчувати пакетний файл, використовуйте команду start , яка запускає задану програму чи команду в окремому вікні.

Наприклад:

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

3
Чи не команда start запускається з вікна команд? у такому випадку спливе вікно команд. Я б подумав, що колись у cmd.exe, єдиною перевагою для початку є те, що він дозволяє вам вибрати, чи хочете ви його звести до мінімуму чи максимізувати .. але якщо він взагалі цього не хоче .. як би це допомогло? І якщо ви використовуєте start from cmd.exe, він також може просто ввести шлях програми без запуску.
барлоп

@barlop: Без запуску сценарій заморожується до завершення програми. З початком роботи сценарій може припинятися і зникати.
harrymc

з інтересу, що ви маєте на увазі під сценарієм? Ви маєте на увазі, що вони починають blah.vbs "c: \ .... \ photoshop.exe"? і, маючи blah.vbs (файл сценарію), запустити його?
барлоп

@barlop: Я просто мав на увазі старий і справжній файл bat, який, напевно, використовує плакат. Я змінив сценарій-> bat файл.
harrymc

5

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

Ви можете зробити

  • почати ... бігати
  • c:\hstart\hstart.exe /NOCONSOLE "cmd /c "c:\program files\microsoft office\office11\winword.exe""

або створити піктограму.

Деякі використовують його для запуску файлів bat .. (інші роблять це з vbs, який також може запускати його cmd.exeі приховувати вікно команди) .., але ви можете використовувати hstart.

Але я повторюю інші, оскільки, оскільки ви запускаєте EXE, якщо ви запускаєте..run..pathofexe або робите піктограму для нього, командна строка не запускається. То чому ви хочете запустити його з cmd.exe?

Крім того, зверніть увагу .. в dos і windows ви використовуєте зворотні риски в доріжках до каталогу. Штрихи вперед спрямовані на URL-адреси або контури каталогів в unix або linux.


Ви знаєте, що hstartробить? Як приховується створене вікно?
Росс Роджерс

1
@RossRogers Я не знаю, але, можливо, API Monitor скаже вам apimonitor.com, а також vbscript також може приховати вікно. superuser.com/questions/62525/run-a-completly-hidden-batch-file і згадує програму під назвою Тихо, з цього веб-сайту joeware.net joeware.net/freetools/tools/quiet/index.htm, який згадує, що його програма використовує ShellExecuteEx для цього.
барлоп

3

Найкращий варіант - запитати, що ви намагаєтеся зробити. Якщо вам потрібен "код" для програми, чому б вам не скористатися програмою Shell?

І я не можу уявити, який законний робочий потік вимагатиме викликати командний рядок, який, у свою чергу, запускає виконуваний файл.


3

Існує інструмент під назвою Тихо, який ви можете використовувати для цього. Просто передайте файл .exe або .bat як аргумент. Для цього просто створіть ярлик командного рядка cmd на робочому столі. Потім отримайте властивості створеного вами ярлика командного рядка. Після цього на вкладці "Ярлик" заповніть поле "Ціль" так:

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

Якщо двічі клацнути ярлик, ваш процес буде запущений, і ви можете перевірити це у своєму списку процесів у менеджері завдань.

Зверніть увагу, що на шляху до Quiet.exe і вашого файлу .exe або .bat не повинно бути пробілів.


Quietздається, працює на Windows NT до XP. Нічого не говорить про Windows 10. Ви вважаєте, що це може бути безпечно використовувати в Windows 10?
Генрік

@Henrik, що ти означає "безпечний"? Це не зламає. Немає шкоди в спробі!
барлоп

@Henrik Я не заподію шкоди, спробуйте.
Мостафа

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

• [шлях] \ ім'я вашого виконуваного файлу.
• всі інші аргументи, необхідні вашому сценарію (% *) - Просто для виконання програми exe у фоновому режимі.


Це не працює. Він дає повідомлення про помилку "Система не може знайти файл% *"
DavidPostill

Працює без %*частини.
Джин Квон

1

Якщо ви хочете виконати команду, а потім негайно вийти з підказки, ви можете це зробити ...

cmd / c "C: // Програмні файли / Adobe / Adobe Photoshop CS4 / Photoshop.exe" && вихід

http://www.thewindowsclub.com/command-prompt-tricks-windows (Див. запуск розділів кількох команд)


0

Чому б не використати це?

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

1
Чи можете ви пояснити цю відповідь детальніше?
bwDraco

Спробувавши все інше, тільки це допомогло. Спасибі. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
Джеймс Косс

-2

Нарешті я з'ясував спосіб, як мінімум, у Windows 10 схоже / закриває cmd вікна в ярлику, для якого я намагався знайти рішення. Ось що я використовую для відкриття користувачів Active Directory і комп'ютерів за допомогою runas з іншим входом у домен.

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

можливо, "cmd / c start" - це просте рішення ...


Чому ви згадуєте Windows 10. Користувач використовував Windows XP. Ви принаймні підтвердили, що це працює в Windows XP?
Рамхаунд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.