Cách thay đổi thư mục làm việc hiện tại bằng tệp loạt


110

Tôi cần một số trợ giúp trong việc viết một tệp hàng loạt. Tôi có một đường dẫn được lưu trữ trong một biến gốc như sau:

set root=D:\Work\Root

Sau đó, tôi đang thay đổi thư mục làm việc của mình thành thư mục gốc này như sau:

cd %root%

Khi tôi thực thi tệp hàng loạt này từ bất kỳ đâu trên ổ đĩa D, điều này được thực hiện thành công. Nhưng khi tôi thực thi cùng một tệp hàng loạt từ một số ổ đĩa khác, cd% root% không hoạt động.

Có cách nào tôi có thể lấy ký tự ổ đĩa từ biến gốc không? Sau đó, tôi có thể thay đổi thư mục hiện tại thành ổ đĩa này trước tiên và sau đó cd% root% sẽ hoạt động.

Câu trả lời:


160

Chỉ định /Dthay đổi cả ổ đĩa.

CD /D %root%

1
Các câu trả lời khác nói \d(chữ thường) có sự khác biệt giữa một trong hai không? Có phải tùy chọn chỉ phân biệt chữ hoa chữ thường không?
josch

3
@josch: Vâng, nếu chúng ta đang nói về các lệnh bên trong của CMD, thì các tham số chuyển đổi như /Dtrên là không phân biệt chữ hoa chữ thường ( /D= /d), giống như chính các lệnh ( CD= cd). Tôi tin rằng điều đó cũng đúng với tất cả các tiện ích dòng lệnh bên ngoài của Windows (như FINDSTR, SORTv.v.) Mặt khác, các công cụ của bên thứ ba có thể sử dụng các tham số phân biệt chữ hoa chữ thường.
Andriy M

không đáng có câu trả lời cho riêng mình, nhưng bạn có thể set "root=/d D:\Work\Root"cd %root%hoặc thậm chí set "root=cd /d D:\Work\Root"và chỉ%root%
Stephan

40

Chỉ cần sử dụng cd /d %root%để chuyển đổi chữ cái trình điều khiển và thay đổi thư mục.

Ngoài ra, sử dụng pushd %root%để chuyển đổi ký tự ổ đĩa khi thay đổi thư mục cũng như lưu trữ thư mục trước đó trên một ngăn xếp để bạn có thể sử dụng popdđể chuyển lại.

Lưu ý rằng điều đó pushdcũng sẽ cho phép bạn thay đổi thư mục thành chia sẻ mạng. Nó thực sự sẽ ánh xạ một ổ đĩa mạng cho bạn, sau đó giải nén nó khi bạn thực thi popdcho thư mục đó.


29

Thử cái này

chdir /d D:\Work\Root

Tận hưởng rễ;)


6
Gốc rễ? Điều đó thậm chí có nghĩa là gì trong bối cảnh này?
Mathias Lykkegaard Lorenzen

Cần lưu ý rằng trước và sau khi thư mục, "nên được đặt như thế này; chdir / d 'D: \ làm việc \ Root'
rao Infinitum

12

Một cú pháp đơn giản hơn có thể là

pushd% root%


3
Chà, trong số tất cả các giải pháp, xếp hạng thấp nhất là giải pháp thực sự hoạt động như một sự quyến rũ! Cảm ơn!
Arto Kalishian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.