Aynı klasörde bir .bat
ve bir .exe
dosya var. .bat
numaralı dosyadan .exe
dosyasını arayamadım, tam olarak mutlak yolu koymadıkça. Yolu belirtmemenizin bir yolu var mı?Windows toplu iş dosyasıyla aynı dizinde nasıl programlar yürütülür?
cevap
.exe
'u %~dp0
ile aramayı deneyin, şu şekilde: %~dp0MyProgram.exe
.
%0
, .bat
adlı dosyanın tam yolunu içerir. ~dp
, \
numaralı izler dahil olmak üzere sürücü ve yolu almayı beklemektedir.
garip görünüyor? Ben bazen pencerelerde çalışmamış ama
Bir ./
./program.exe
gerçekten olmalıdır hiçbir fark ile lider çalıştın? Belki de yarasa, C: \ Windows bağlamından yürütülür ya da partneriniz bir noktada başka bir dirke cd yaptı mı?
Yani. \ (Yani, ters eğik çizgi). –
Ben partiyi çalıştırdığımda başka bir dizinden çalıştırıldığını düşünüyorum. –
Belki de sorum şu: "Bir toplu iş dosyasına çift tıklayıp, aynı dizinde nasıl yürütülür?" –
+1 oy sadece google arama bu linki bulundu - http://weblogs.asp.net/whaggard/archive/2005/01/28/get-directory-path-of-an-executing-batch-file. aspx – house9
İyi bir açıklama, teşekkürler! – enderland
Patrick Cuff'ın yukarıdaki yanıtı işe yarar, ancak dizin yolunun bir kısmı adında boşluklar varsa başarısız olur. Bunu aşmak için, .exe çağrısının etrafında çift tırnak işareti koymanız gerekir. "% ~ dp0MyProgram.exe" –