web-dev-qa-db-ja.com

WindowsのLinux mkdir -pと同等のものは何ですか?

Linuxでは、mkdir -pは、フォルダーツリーを作成します。

Windowsでフォルダーツリーを作成するための同等のオプションは何ですか?何かありますか?

39
Renjith G

コマンド拡張機能が有効になっている場合、Windows 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"で複数のディレクトリレベルを作成できることが保証されます。

私が書いたcmdスクリプトのほぼすべては、次のもので始まります。

setlocal enableextensions enabledelayedexpansion

私の愛するbashの振る舞いにできるだけ近づけるようにするために:-)

42
paxdiablo

Windowsでは、mkdirはデフォルトでディレクトリツリーを作成します。

mkdir a\b\c

35

奇妙な理由で、次の方法でディレクトリを作成しようとしました。

mkdir src/main/Java/main/resources 

うまくいきませんでした。次に示すように、パスを二重引用符で囲む必要がありました。

mkdir "src/main/Java/main/resources"

さらに、unixではこれが可能です。

mkdir -p src/main/Java src/main/resources

以下に示すように2つのブランチが作成される場合、Windowsのブランチと同等です。

mkdir "src/Java/resources" "src/main/resources"

src
-----Java
-------resources
-----main
-------resources

これがお役に立てば幸いです! xox

9
Nick Ko

スラッシュを使用する場合は、必要なディレクトリ構造を二重引用符で囲んで指定します。 mkdir "org/frame/bu/fed/config"

4
Anup Thakare

デフォルトでは、mkdirはすべての中間ディレクトリを作成します。必ず区切り文字として「\」を使用してください。

0
basit