Geçerli Dizini Toplu Dosya Dizini Olarak Değiştirme


18

Procdump işlemini batyürüten pencerelerde bir dosya var . Toplu iş dosyasıyla ilgili sorun, işi yürütmeden önce toplu iş dosyası dizinine cd göndermem gerektiğidir, yoksa komut dosyası çalışmaz.

Geçerli toplu iş dosya dizini nasıl değiştirilir?

Ben aşağıdaki kodu denedim procdump.bat:

cd "%~dp"
procdump -h devenv.exe mydump.txt

Ancak başarısız oldu, hata mesajı:

Aşağıdaki yol işlecinin toplu parametre değiştirmede kullanımı geçersiz:% ~ dp "

Geçerli biçimler için CALL /? yada ... için /?

Düzenleme: Verilen cevap çalışıyor, ama sadece bir catch var: benim geçerli dizini toplu iş dosya dizininden farklı ise, o zaman "Sistem belirtilen yolu bulamıyorum" alırsınız. Herhangi bir fikri olan var mı?


Bu "% ~ dp" yi nereden alıyorsunuz?
fretje

Yanıtlar:


24

Tamam, sanırım burada ne demek istediğinizi buldum %~dp.

Bence gerçekten yapmak istediğiniz şey bu:

cd /D "%~dp0"

(!) Ancak, geçerli dizin başka bir sürücüdeyken toplu işlemi yürütmeye çalışırken cdetkin sürücüyü değiştirmediğinizde bunun size doğru davranışı sağlamayacağını unutmayın .

Düzenleme : Görünüşe göre (teşekkürler @Yoopergeek ) aktif sürücüyü de değiştirmesine izin vermek için /Dparametreyi cdkomuta ekleyebilirsiniz .


Bu toplu parametreler hakkında daha fazla bilgi için bkz help callbir de cmdistemi.
sonraki duyuruya kadar duraklatıldı.

Bu arada, bu parametreleri birleştirebilirsiniz:%~dp0
sonraki duyuruya kadar duraklatıldı.

Cevabınız faydalıdır; ancak geçerli dizinim toplu iş dosyasının farklı bir dizinindeyse, yukarıdaki komut başarısız olur; Hatta cd /Dveya cd "%~dp0" /Dyardım yapamaz.
Graviton

@Ngu Yakında Hui: Şu anki direktifinizin toplu iş dosyasından farklı bir dizinte olduğu açıktı. Ama bu komut neden başarısız olur? Burada test ettim ve işe yarıyor.
fretje

1
Çözümü kullanarak buldum cd /D "%~dp0". Teşekkürler.
Graviton

4

Fretje'nin cevabına bir yorum bırakardım, ama açıkçası yapamam ???


Her neyse, notla ilgili:
Ancak, cd etkin sürücüyü değiştirmediğinden, geçerli dizin başka bir sürücüdeyken toplu işinizi yürütmeye çalıştığınızda bunun hala doğru davranışı sağlamayacağını unutmayın.


/DCD komutunuzdaki anahtarı kullanın, CD etkin sürücüyü değiştirecektir.


... yine de kendi cevabım hakkında yorum yapabilirim. Dostum, ServerFault üzerinde hiç temsilciye sahip olmak berbat ... bazı SO temsilcisi 'buraya' diledi '.
Yoopergeek

1
@ Yoogegeek: hesaplarınızı ilişkilendirebilirsiniz. SO'daki temsilciniz 200'den yüksekse, size 100 temsilci verir.
fretje
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.