Çalıştırılmadan önce çalıştırılabilir bir dizini komut satırı üzerinden nasıl ayarlarım?


35

Konumu Path ortam değişkeni ile çözülen komut satırında bir program çalıştırırsam , programın çalışma dizini genellikle yükleme dizinine ayarlanır.

Böyle bir programı bir konsol penceresinden çalıştırmak ve çalışma dizinini geçerli veya açık bir dizine ayarlamak istiyorum. Programı geçici olarak çalışma dizinime kopyalayarak bunu başardım - cmd.exe veya powershell.exe ortamlarında bunu gerçekleştirmenin başka bir yolu var mı?

Bu göreve Windows kabuğu benzetmesi bir kısayol oluşturmak ve buna göre "Başlat" özelliğini ayarlamaktır.

Yanıtlar:


40

Çalışma dizini açıkça ayarlamak için, bir PowerShell çözümü Start-Processcmdlet'i -WorkingDirectoryparametreyle kullanmak olacaktır .

Start-Process -FilePath notepad.exe -WorkingDirectory c:\temp

Takma adı start, konumsal parametreyi ve kısmi parametre adını kullanarak bu şöyle yazılabilir:

start notepad.exe -wo c:\temp

CMD'nin de bir STARTkomutu var. Bunun için /Dçalışma dizinini belirtmek üzere parametreyi kullanın:

START /D c:\temp notepad.exe

6

Aşağıdakiler işe yarayacak, uygun yer değiştirmeleri yapacak ve bir .cmduzantı ile kaydedecektir .

@echo off 
C:
chdir C:\desired\directory
C:\full\path\of\command.exe

Bu toplu iş dosyasını, içindeki bir dizine koyun %PATH%ve istediğiniz zaman onu çağırabilmeniz gerekir cmd.exe.


1
Çalışma dizini ve yürütülebilir dosya aynı bölüm / sürücüde değilse, korkaklığın ortaya çıkabileceğini unutmayın.
MBraedley

2
@LawrenceC, Ancak bu çözüm geçici bir dosya gerektirir. Bu geçici dosyalar olmadan elde edilebilirse daha iyi olur
Pacerier
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.