2009-05-25 4 views

답변

28

윈도우에서 mkdir가 자동으로 수행합니다. 확장

@echo off 
setlocal enableextensions 
md %1 
endlocal 

:

명령 확장의 추가 된 기능입니다 그들은하지 않은 경우, 당신은 그것을 할 자신 만의 스크립트를 만들 수 있습니다, 내가 사용한 적이 거의 모든 상자에 있지만 cmd.exe를 사용하면 훨씬 더 많은 작업을 수행 할 수 있습니다 (배치 언어의 초기 구체화와의 약간의 호환성 비용).

Windows XP cmd.exe은 기본적으로이 확장명을 사용하도록 설정해야하지만 기본적으로 사용하지 않도록 설정 할 수 있습니다 ("cmd /e:off"을 기본 프로세서로 사용). 그렇게하고 확장 프로그램을 사용하려는 경우 cmd 파일의 파일을 다시 활성화하려면 setlocal이 있어야합니다.

위의 스크립트는 md2.cmd라고 할 수 있으며 확장 기능의 사용 가능 여부를 걱정할 필요없이 "md2 a\b\c"으로 여러 디렉토리 레벨을 생성 할 수 있습니다. 사용하려는 경우 내가

+0

'md'를 실행하는 것보다이 대답이 어떻게 더 좋은지 설명 할 수 있습니까? –

+1

@notfed, 어떤 이유로 명령 확장이 _disabled_ 인 경우 md가 전체 경로를 생성하지 않습니다. 그 대답은 내가 대답 한 상황이고, 임시로 스크립트를 사용하려면 스크립트가 필요합니다. – paxdiablo

19

Windows에서 mkdir은 기본적으로 디렉터리 트리를 만듭니다. 명령 확장을 사용하는 경우

mkdir a\b\c

+0

'mkdir'이 아니라'md'를 넣고 싶다고 생각합니다. – Shyam

+3

'mkdir'과'md'는 모두 Windows에서 동일합니다. –

+6

경로에 GNUWin32 자료가있는 것을 제외하고는 예외입니다.그런데 이상하게도 GNU mkdir이 mkdir을 사용할 때 호출됩니다. (더 이상 폴더 트리를 만들 수없는 이유를 알아 내는데 시간이 걸렸습니다 ...) :-) – Joey

3

:-) 내 사랑하는 bash의 동작에 최대한 가깝게 얻을 수 있도록

setlocal enableextensions enabledelayedexpansion 

:

은 거의 내가 쓰기 cmd 스크립트의 모든 일이 시작된다 앞으로 슬래시, 당신은 이중 따옴표 안에 원하는 디렉토리 구조를 제공합니다. mkdir "org/frame/bu/fed/config"

3

다음과 같은 방법으로 디렉토리를 만들려고 시도한 이상한 이유가 있습니다.

mkdir src/main/java/main/resources 

작동하지 않았으므로 아래에 표시된 것처럼 경로를 큰 따옴표로 묶어야했습니다.

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

또한 unix에서도 허용됩니다.

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

아래의 그림과 같이 두 개의 분기가 생성됩니다.

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

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

나는 희망이 도움이! xox