Bagaimana mengubah direktori kerja saat ini menggunakan file batch


110

Saya butuh bantuan dalam menulis file batch. Saya memiliki jalur yang disimpan di root variabel sebagai berikut:

set root=D:\Work\Root

Kemudian saya mengubah direktori kerja saya ke root ini sebagai berikut:

cd %root%

Ketika saya menjalankan file batch ini dari mana saja di drive D, ini berhasil dilakukan. Tetapi ketika saya menjalankan file batch yang sama dari drive lain, cd% root% tidak berfungsi.

Apakah ada cara agar saya bisa mendapatkan huruf drive dari variabel root? Saya kemudian dapat mengubah direktori saat ini ke drive ini terlebih dahulu dan kemudian cd% root% akan berfungsi.

Jawaban:


160

Tentukan juga /Duntuk mengubah drive.

CD /D %root%

1
Jawaban lain mengatakan \d(huruf kecil) apakah ada perbedaan antara keduanya? Apakah opsi tidak peka huruf besar / kecil?
josch

3
@josch: Ya, jika kita berbicara tentang perintah internal CMD, maka parameter switch seperti di /Datas tidak case-insensitive ( /D= /d), seperti perintah itu sendiri ( CD= cd). Saya percaya itu juga berlaku untuk semua utilitas baris perintah Windows eksternal (seperti FINDSTR, SORTdll.) Alat pihak ketiga, di sisi lain, dapat menggunakan parameter case-sensitive.
Andriy M

tidak layak jawaban sendiri, tetapi Anda bisa set "root=/d D:\Work\Root"dan cd %root%atau bahkan set "root=cd /d D:\Work\Root"dan hanya%root%
Stephan

40

Cukup gunakan cd /d %root%untuk mengganti huruf driver dan mengubah direktori.

Alternatifnya, gunakan pushd %root%untuk mengganti huruf drive saat mengubah direktori serta menyimpan direktori sebelumnya di tumpukan sehingga Anda dapat menggunakan popduntuk beralih kembali.

Perhatikan itu pushdjuga akan memungkinkan Anda untuk mengubah direktori ke jaringan berbagi. Ini benar-benar akan memetakan drive jaringan untuk Anda, lalu menghapusnya saat Anda menjalankan popddirektori untuk itu.



12

Sintaks yang lebih sederhana mungkin

pushd% root%


3
Wow, dari semua solusi, peringkat terendah adalah yang benar-benar berfungsi dengan sangat baik! Terima kasih!
Arto Kalishian
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.