Saya memiliki bat
file di windows yang menjalankan operasi procdump . Masalah dengan file batch adalah bahwa saya perlu cd ke direktori file batch terlebih dahulu sebelum menjalankan pekerjaan, atau skrip tidak akan berfungsi.
Bagaimana cara mengubah ke direktori file batch saat ini?
Saya mencoba kode berikut di procdump.bat
:
cd "%~dp"
procdump -h devenv.exe mydump.txt
Tetapi gagal, pesan kesalahannya adalah:
Penggunaan operator path berikut dalam substitusi-parameter batch tidak valid:% ~ dp "
Untuk format yang valid ketik CALL /? atau untuk /?
Sunting: Jawaban yang diberikan berfungsi, tetapi hanya ada satu tangkapan: jika direktori saya saat ini berbeda dari direktori file batch, maka saya akan mendapatkan "Sistem tidak dapat menemukan jalur yang ditentukan". Adakah yang punya ide?
windows
batch-file
Graviton
sumber
sumber
Jawaban:
Ok, saya pikir saya menemukan di sini apa yang Anda maksud dengan
%~dp
.Saya pikir apa yang benar-benar ingin Anda lakukan adalah ini:
(!) Tetapi perhatikan bahwa ini masih tidak akan memberi Anda perilaku yang tepat ketika Anda mencoba untuk menjalankan batch Anda saat direktori saat ini di drive lain karenacd
tidak mengubah drive yang aktif.Sunting : Rupanya (terima kasih @Yoopergeek ) Anda dapat menambahkan
/D
parameter kecd
perintah untuk membiarkannya juga mengubah drive yang aktif.sumber
help call
dicmd
prompt.%~dp0
cd /D
ataucd "%~dp0" /D
tidak bisa membantu.cd /D "%~dp0"
. Terima kasih.Saya akan meninggalkan komentar untuk jawaban fretje, tetapi ternyata saya tidak bisa ???
Ngomong-ngomong, mengenai catatan:
Tetapi perhatikan bahwa ini masih tidak akan memberi Anda perilaku yang benar ketika Anda mencoba untuk menjalankan batch Anda saat direktori saat ini di drive lain karena cd tidak mengubah drive yang aktif.
Gunakan
/D
sakelar pada perintah CD Anda, dan CD akan mengubah drive yang aktif.sumber