Bagaimana cara menjalankan Cmd.exe secara diam-diam?

23

Saya menggunakan kode di bawah ini dalam dialog Run Windows XP.

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

Anda dapat mengganti jalur program program apa pun yang diinstal pada sistem Anda. Masalahnya adalah Photoshop meluncurkan tetapi jendela cmd.exe masih tersimpan. Saya tidak ingin file cmd.exe muncul. Apakah mungkin untuk meluncurkan program melalui cmd tanpa membuka jendela cmd.exe? Saya perlu cmd bekerja secara diam-diam. BTW, saya perlu kode ini untuk suatu program. Jadi saya harus memulai program melalui cmd tetapi tanpa jendela cmd.exe muncul.

Komentar Lebih Lanjut

Karena saya akan menggunakan kode itu dalam suatu program. Program dapat memulai exe cmd. Tetapi masalahnya adalah kita tidak tahu versi Photoshop yang diinstal. Jadi bisa berupa Photoshop CS4 atau Photoshop CS5. Biasanya ketika Anda mengetik kode di bawah ini di Run Anda mendapatkan Photoshop tidak peduli yang diinstal.

photoshop

Jadi saya ingin memulai Photoshop dengan metode ini. Program akan memulai cmd seperti Jalankan di atas tetapi sesuatu seperti di bawah ini:

cmd /c photoshop

Tapi itu tidak berhasil. Dan bahkan jendela cmd muncul. Saya ingin membuat proses berjalan diam-diam. Kita juga tidak boleh menginstal alat lain apa pun. Saya ingin solusi yang akan berfungsi pada Windows default.

BinaryMisfit
sumber
6
Mengapa menggunakan cmd.exe daripada hanya memulai Photoshop secara langsung, jika Anda tidak menginginkan CMD sejak awal?
CarlF
Coba cmd.exe / q / c [command]
qroberts
Tidak, itu tidak akan berhasil. Kamu mencobanya! Juga, itu akan menjadi perintah / q / c jika ada sesuatu cmd / q / c "c: \ program files \ microsoft office \ office11 \ winword.exe" Perhatikan bahwa jendela perintah muncul. Dia tidak menginginkan itu. Jika Anda akan mencobanya, Anda akan tahu itu !!
barlop
3
Tidak perlu kesal karenanya. Selain itu, penanya adalah perempuan, bukan laki-laki.
qroberts
1
CMDOW seharusnya melakukan ini.
CGA

Jawaban:

22

Masalahnya adalah bahwa Command Prompt (cmd) tidak dapat mengakhiri - itu macet di layar menunggu Photoshop untuk mengakhiri.

Untuk meluncurkan Photoshop di file bat dan membiarkan file batch melanjutkan dan mengakhiri, gunakan perintah mulai , yang memulai program atau perintah yang ditentukan di jendela yang terpisah .

Sebagai contoh:

start "" "C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe"
harrymc
sumber
3
bukankah perintah mulai dijalankan dari jendela perintah? dalam hal ini sebuah jendela perintah akan muncul. Saya akan berpikir bahwa sekali dalam cmd.exe, satu-satunya keuntungan untuk memulai, adalah bahwa ia memungkinkan Anda memilih apakah Anda ingin diminimalkan atau dimaksimalkan .. tetapi jika dia tidak menginginkannya sama sekali .. bagaimana itu membantu? Dan jika menggunakan start dari cmd.exe maka ia mungkin juga cukup mengetik path program tanpa memulai.
barlop
@barlop: Tanpa memulai, skrip dibekukan sampai program berakhir. Dengan mulai, skrip dapat berakhir dan menghilang.
harrymc
tidak tertarik, apa yang Anda maksud dengan skrip .. apakah maksud Anda mereka mulai blah.vbs "c: \ .... \ photoshop.exe"? dan memiliki blah.vbs (file skrip) memulainya?
barlop
@barlop: Saya hanya bermaksud file bat lama dan benar, yang saya asumsikan adalah apa yang digunakan poster. Saya mengubah file script-> bat.
harrymc
5

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

Anda dapat melakukan

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

atau buat ikon.

Beberapa menggunakannya untuk menjalankan file bat .. (yang lain melakukannya dari vbs yang juga dapat menjalankannya dengan cmd.exedan menyembunyikan jendela perintah) .. tetapi Anda dapat menggunakannya hstart.

Namun, saya menggemakan yang lain, karena Anda menjalankan EXE, jika Anda memulai..run..pathofexe atau membuat ikon untuk itu, prompt perintah tidak akan diluncurkan. Jadi mengapa Anda ingin memulainya dari cmd.exe?

Juga, perhatikan .. dalam dos dan windows Anda menggunakan garis miring terbalik di jalur direktori. Garis miring ke depan adalah untuk URL atau jalur direktori di unix atau linux.

barlop
sumber
Apakah Anda tahu apa yang hstartsedang dilakukan? Bagaimana cara menyembunyikan jendela yang dibuat?
Ross Rogers
1
@RossRogers Saya tidak tahu, tetapi mungkin API Monitor akan memberi tahu Anda apimonitor.com dan juga, vbscript juga bisa menyembunyikan jendela. superuser.com/questions/62525/run-a-completly-hidden-batch-file dan yang menyebutkan sebuah program bernama Quiet, dari situs ini joeware.net joeware.net/freetools/tools/quiet/index.htm yang menyebutkan bahwa itu adalah Program menggunakan ShellExecuteEx untuk melakukannya.
barlop
3

Pilihan terbaik adalah menanyakan apa yang ingin Anda lakukan. Jika Anda memerlukan 'kode' untuk suatu program, mengapa Anda tidak menggunakan Shell mengeksekusi?

Dan saya tidak bisa membayangkan apa alur kerja yang sah yang perlu dipanggil baris perintah, yang pada gilirannya akan menjalankan executable.

Devdatta Tengshe
sumber
3

Ada alat bernama Quiet yang dapat Anda gunakan untuk mencapai ini. Cukup berikan file .exe atau .bat Anda sebagai argumen. Untuk ini, cukup buat pintasan command prompt cmd di desktop Anda. Kemudian dapatkan properti dari pintasan prompt perintah yang telah Anda buat. Setelah itu, di tab "Pintasan", isi bidang "Target" seperti ini:

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

Jika Anda mengklik dua kali pintasan, proses Anda akan diluncurkan dan Anda dapat memeriksanya melalui daftar proses Anda, di task manager.

Perhatikan bahwa seharusnya tidak ada spasi putih di jalur untuk Quiet.exe dan file .exe atau .bat Anda.

Mostafa
sumber
Quiettampaknya berjalan pada Windows NT hingga XP. Tidak mengatakan apa-apa tentang Windows 10. Apakah Anda pikir mungkin aman untuk menggunakannya pada Windows 10?
Henrik
@ Henrik apa maksudmu 'aman'? Itu tidak akan merusaknya. Tidak ada salahnya mencoba!
barlop
@ Henrik, aku tidak akan melakukan apa pun, cobalah.
Mostafa
2
cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe" %*

• [path] \ nama yang dapat dieksekusi Anda.
• semua argumen lain yang dibutuhkan oleh skrip Anda (% *) - Hanya untuk mengeksekusi exe di latar belakang.

pengguna2361573
sumber
Ini tidak bekerja Ini memberikan pesan kesalahan "Sistem tidak dapat menemukan file% *"
DavidPostill
Bekerja tanpa %*bagian.
Jin Kwon
1

Jika Anda ingin menjalankan perintah dan kemudian segera keluar dari prompt, Anda dapat melakukan ini ...

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

http://www.thewindowsclub.com/command-prompt-tricks-windows (Lihat menjalankan beberapa perintah bagian)

pengguna472096
sumber
0

Kenapa tidak menggunakan ini?

cmd /c start "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe exit"
Bats92
sumber
1
Bisakah Anda menjelaskan jawaban ini lebih terinci?
bwDraco
Setelah mencoba yang lain, hanya ini yang membantu. Terima kasih. #include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
James Koss
-2

Saya akhirnya menemukan cara yang setidaknya di windows 10 muncul untuk menyembunyikan / menutup windows cmd di jalan pintas saya telah mencoba mencari solusi untuk. Inilah yang saya gunakan untuk membuka Pengguna dan Komputer Direktori Aktif melalui runas dengan login domain lain.

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

mungkin "cmd / c start" adalah solusi mudah ...

Alyx Jones
sumber
Mengapa Anda menyebutkan Windows 10. Pengguna menggunakan Windows XP. Apakah Anda setidaknya memverifikasi ini berfungsi pada Windows XP?
Ramhound