Windows 8'deki komut istemini kullanarak bir programı nasıl açabilirim?


17

Adında bir programım olduğunu any_program.exeve işletim sistemi sürücümün olduğunu varsayalım C:. Programın yeriD:\Any_Folder\any_program.exe

Bu programı Windows 8'de komut istemiyle nasıl başlatır / yürütebilirim?

Komut satırını denedim START any_program.exe, ama bana bir hata gösteriyor

Windows 'any_program.exe' dosyasını bulamıyor. Adı doğru yazdığınızdan emin olun ve ardından tekrar deneyin.

Bu arada, Windows 7'de mükemmel çalıştı. Ve yazdığımda START notepad.exeveya START firefox.exe(Firefox C: sürücüsünde yüklü değilse), Windows 8'de çalışır.


Bunun özellikle Windows 8 ile bir ilgisi yok , değil mi?
Joey

Sanırım öyle. Windows 7'de sadece yol işe yarardı. Ancak, Windows 8'de, programın yolu tırnak işaretleri arasında (ne bulduğum) olmalıdır veya programı bulamadığı hatası gösterir (yol PATH ortam değişkenine veya Uygulama kayıt defteri).
Ahmadul Hoq

2
@AhmadulHoq Windows 7, bildiğim kadarıyla aynı şekilde davranıyor. Muhtemelen bu yerlerden birinde dosya vardı.
Bob

Yanıtlar:


24

Komut İsteminde bir 'komut' çalıştırmanın üç temel yolu vardır.

  • builtins ( "dahili komutlar" )

    Bunlar cmd'nin içine yerleştirilmiş komutlardır ve harici bir program çağırma gerektirmez. Ayrıca herhangi bir arama yapmazlar ve eşleştirildiklerinde her zaman en yüksek öncelikle yürütülürler. Yürütülebilir adı tırnak içine alarak yapıları atlayabilirsiniz: yerleşik'i echoçağırır, ancak "echo"cmd kurallarına göre arama yapar.

  • Doğrudan çağırma

    Bu, doğrudan bir program adı (yol olmadan) belirttiğiniz zamandır. Örneğin, bilgi isteminde cmd( cmd.exe) veya ipconfig( ipconfig.exe) öğesini çalıştırırsanız , doğrudan harici komutu çağırırsınız. Bu, tamamen Komut İstemi içinde uygulanan sınırlı aramayı şu sırayla gerçekleştirir:

    • Geçerli dizin.
    • PATH ortam değişkeninde listelenen dizinler.

    ( yorumlar için dxiv'e teşekkürler )

  • startKomut aracılığıyla

    startKomut aracılığıyla bir dosyayı yürütmeye çalıştığınızda , Komut İstemi herhangi bir arama gerçekleştirmez. Bunun yerine, dosya adını (ve bağımsız değişkenlerini) Windows'un kendisine ( ShellExecuteExAPI çağrısı yoluyla ) iletir; bu dosya daha sonra dosyanın konumunu aramalıdır. Aşağıdaki sırayla aradığı birkaç yer vardır :

    • Geçerli çalışma dizini
    • Windows dizini
    • Windows \ System32 dizini
    • PATH ortam değişkeninde listelenen dizinler
    • Kayıt defteri tanımlı Uygulama Yolları

    Çalıştır iletişim kutusunun da bu arama yöntemini kullandığını unutmayın.


Normalde, ya dosyanın konumuna gidip cd /d D:\Any_Folder( /dsürücüyü değiştirmek anlamına gelir) ya da sadece çalıştırabilirsiniz any_program.exe. Alternatif olarak, tam yolu belirleyebilirsiniz D:\Any_Folder\any_program.exe.

Başlamak start any_program.exeistiyorsanız, birkaç seçeneğiniz vardır:

  • Windows veya System32 dizinlerine veya PATH ortam değişkenindeki herhangi bir dizine koyabilirsiniz.
  • ( D:\Any_Folder) İçinde bulunduğu dizini PATH ortam değişkenine ekleyebilirsiniz, ayrıntılar için bu soruya bakın.
  • Not Defteri ve Firefox gibi Uygulama Yolları kayıt defteri anahtarına ekleyebilirsiniz. Uygulama Yolları firefox.exe, dizinlerle ilgilenen diğer seçeneklerin aksine, bir dosya anahtar sözcüğünü (örneğin ) dosyanın tam yolu ile bağlar . Daha fazla bilgi için buraya bakın .

3
Tamlık için, bir programı komut isteminde doğrudan any_program.exeUygulama Yolları anahtarını aramadığı gibi çalıştırmanın start any_program.exe, örneğin varsayılan bir Win7 yüklemesinde olduğu gibi çalıştırırken wordpad, komut istemine girmenin bir not recognizedhata verdiğini ve start wordpadwordpad ( Uygulama Yolları anahtarını temel alarak). Teknik neden, startCreateProcess (doğrudan yürütmenin kullandığı) özel olarak Uygulama Yollarının aranmadığından bahsederken , bağlantılı sayfanın ShellExecuteEx'e ( kullanan) başvurmasıdır .
15:04

@dxiv Teşekkürler. Cmd üzerinden doğrudan çağırma, yalnızca cwd ve PATH listesindeki dizinleri arar. Ben birazdan değiştireceğim.
Bob

1
Teşekkürler, bu 3 yıl geç bir yorum için hızlıydı ;-) İlgili dokümanlar bağlantısı msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx ama eklemek için yerim yoktu önceki yorumda. Arama mantığı lpCommandLine altında # 1-6 altında listelenir.
15:17, dxiv

1
@dxiv Bağlantı için teşekkürler. (Deneyin: Ben de o ... benim gözlenen davranış maç için görünmüyor olsa o düzenledikten set path=ardından cmdbulamıyorum ama start cmdenv var dışarıda hala arar yollar olarak çalışır).
Bob

1
İki kez kontrol ettiğiniz için teşekkürler. Gerçekten de cmd doğrudan yürütme varsayılan olarak windows / sistem dizinleri arama değildir ve ben CreateProcess belgeleri işaret etmek yanlıştı. Cmd'nin kendi mantığı olduğunu, technet.microsoft.com/en-us/library/… altındaki " Muhtemelen daha önce en az NT kez" ve "daha önce sonsuza dek geriye " yazdığına göre kendi mantığına sahip gibi görünüyor .
15:37

7
start D:\Any_Folder\any_program.exe

veya yol veya dosya boşluk içerdiğinde

start "" "D:\Any_Folder\any_program.exe"

start any_program.exeyalnızca %PATH%ortam değişkeninde bulunan veya anahtarda HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathsveya HKEY_CURRENT_USERanalogunda kayıt defterinde kayıtlı olan programlar için çalışır .


5

İki seçeneğiniz var:

  1. Programı %PATH%değişkeninize ekleyin
  2. Kısayolunuzda tırnak işaretleri kullanın

Detay:

any_program.exeYola ekleme :

  1. "Denetim Masası" -> "Gelişmiş Sistem Ayarları" na gidin
    Gelişmiş sistem Ayarları
  2. Gelişmiş sekmesine gidin
    Sistem ayarları

  3. "Ortam Değişkenleri" ni tıklayın. Any_program.exe dosyasının bulunduğu klasörü ekleyin. PATH Değişkenini düzenleyin ve klasörü bir;
    yol değişkeni

  4. Artık çalıştır iletişim kutusunda any_program.exe dosyasını kullanabilirsiniz (Yol değişkeni değişikliklerinizin kullanıldığından emin olmak için oturumu kapatıp yeniden açmayı deneyin.)

Tam yolu kullanma

any_program.exeÇalıştır iletişim kutusunda kullanmak yerine, PATH'ın tamamını kullanmanız gerekir. Bunun D:\Stuff\App\any_program.exeyerine çalıştır iletişim kutusuna yazın .


bu ekran görüntüleri WAAAY büyük. Onları makul bir boyuta sahip olmak ister misiniz?
Journeyman Geek

Üzerinde çalışıyor ...
Nemo

Windows'daki yol dizinleri, ;iki nokta üst üste işareti ( :) tarafından değil, noktalı virgül ( ) ile sınırlandırılır ...
Bob

Aklımda bunu vardı, ama yine de yanlış yazdım.
Nemo

Görünüşe göre c-sharpcorner.com/UploadFile/6cde20/… ' den alınan ekran görüntüleri . Orada ekran görüntüleri korkunç
Journeyman Geek

1
  1. Komut İstemini Aç
  2. Çalıştırmak istediğiniz programın adını yazın. Eğer PATH Sistem değişkeninde ise yürütülür. Değilse, programın tam yolunu yazmanız gerekir. Örneğin, çalıştırmak için D: \ Any_Folder \ any_program.exe yazın D: \ Any_Folder \ any_program.exe üzerinde Komut istemi ve basınEnter

Haha güzel numara!
Ahmadul Hoq

1

Henüz basit bir yöntem kullanıyorum. . .
Dosyanın kısayolunu C: \ users \ name dizinine kopyalayın ve ardından çalıştırma iletişim kutusuna kısayolun adını yazın. . . . .


0

Sanırım sistem değişkenlerinde PATH değişkeninin yolunu eklemelisiniz


0

Bunu GUI yerine CMD kullanın.

  1. Yürütülebilir Dosya Konumunu CMD'de Kullanılabilir Yapma, yani PATHDeğişken Oluşturma :

    Örneğin:

    • Senaryo: CMD'den Acrobat'ı Açmak İstiyorsunuz
    • SET PATH: CMD Tipinde

      SET ACROBAT="C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat"
      
  2. Dosyayı yürütme CMD'den:

    CMD Tipinde:

    START ACROBAT
    

Bu kadar !!!
Umarım bu yardımcı olmuştur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.