2009-05-25 48 views

Trả lời

28

Windows mkdir tự động bật nếu tiện ích mở rộng lệnh được bật. Họ đang ở trên chỉ là về tất cả các hộp mà tôi từng sử dụng nhưng, nếu họ không, bạn có thể tạo kịch bản của riêng bạn để làm điều đó:

@echo off 
setlocal enableextensions 
md %1 
endlocal 

Mở rộng:

mở rộng lệnh là một tính năng bổ sung cmd.exe cho phép bạn làm như vậy nhiều hơn nữa (với chi phí tương thích một chút với các hóa thân trước đó của ngôn ngữ lô).

Windows XP cmd.exe phải bật các tiện ích này theo mặc định nhưng bạn có thể định cấu hình hộp của mình để chúng bị tắt theo mặc định (sử dụng "cmd /e:off" làm bộ xử lý mặc định). Nếu bạn làm điều đó và muốn sử dụng các phần mở rộng, các tệp cmd của bạn phải có một tập hợp để bật lại chúng.

Tập lệnh ở trên có thể được gọi là md2.cmd và sau đó bạn sẽ được đảm bảo có thể tạo nhiều cấp thư mục với "md2 a\b\c" mà không phải lo lắng liệu tiện ích có được bật hay không.

Hầu hết một trong những cmd kịch bản tôi viết bắt đầu bằng:

setlocal enableextensions enabledelayedexpansion 

để đảm bảo tôi có được càng gần càng tốt đến hành vi của yêu bash của tôi :-)

+0

Bạn có thể giải thích câu trả lời này tốt hơn cách chạy 'md' không? –

+1

@notfed, nếu tiện ích mở rộng lệnh được _disabled_ vì một số lý do, md sẽ không tạo toàn bộ đường dẫn. Đó là tình huống tôi đã đưa ra trong câu trả lời, và một trong những bạn sẽ cần một kịch bản cho, để tạm thời kích hoạt chúng. – paxdiablo

19

Trong Windows, mkdir tạo cây thư mục theo mặc định.

mkdir a\b\c

+0

Tôi nghĩ bạn muốn đặt 'md' chứ không phải' mkdir'. – Shyam

+3

Cả hai 'mkdir' và' md' đều giống nhau trong Windows. –

+6

Trừ khi bạn tình cờ có một số công cụ GNUWin32 nằm xung quanh trong đường dẫn của bạn.Sau đó, kỳ lạ, GNU mkdir được gọi khi sử dụng mkdir (và nó đã cho tôi một thời gian để tìm hiểu lý do tại sao tôi không thể tạo cây thư mục nữa ...) :-) – Joey

3

Nếu bạn muốn sử dụng chuyển tiếp dấu gạch chéo, chỉ cần cung cấp cho cấu trúc thư mục bạn muốn trong dấu ngoặc kép. mkdir "org/frame/bu/fed/config"

3

Vì lý do lạ khi tôi cố gắng tạo thư mục bằng phương pháp sau;

mkdir src/main/java/main/resources 

nó không hoạt động, tôi đã bao quanh đường dẫn trong dấu ngoặc kép, như hình dưới đây;

mkdir "src/main/java/main/resources" 

Ngoài ra, unix cho phép điều này;

mkdir -p src/main/java src/main/resources 

nơi hai chi nhánh sẽ được tạo như được hiển thị bên dưới, tương đương với các nhánh trên cửa sổ;

mkdir "src/java/resources" "src/main/resources"

src 
-----java 
-------resources 
-----main 
-------resources 

Tôi hy vọng điều này sẽ giúp! xox

Các vấn đề liên quan