Was ist äquivalent zu Linux mkdir -p in Windows?
-
05-09-2019 - |
Frage
Unter Linux mkdir -p
erstellt einen Ordner Baum.
Was ist die entsprechende Option in Windows eine Ordnerstruktur zu erstellen? Gibt es eine?
Lösung
Der Windows mkdir tut es automatisch, wenn Befehlserweiterungen aktiviert sind. Sie sind auf fast jedem Feld die ich je benutzt habe, aber, wenn sie es nicht sind, können Sie Ihr eigenes Skript erstellen, es zu tun:
@echo off
setlocal enableextensions
md %1
endlocal
Die Erweiterung:
Befehlserweiterungen sind ein zusätzliches Feature von cmd.exe, die Sie so viel mehr zu tun erlaubt (auf Kosten eines kleinen Kompatibilität mit früheren Inkarnationen der Batch-Sprache).
Windows XP cmd.exe
sollten diese Erweiterungen standardmäßig aktiviert, aber Sie können Ihre Box so konfigurieren, dass sie standardmäßig deaktiviert sind ("cmd /e:off"
als Standard-Prozessor). Wenn Sie das tun und wollen die Erweiterungen verwenden, Ihre cmd
Dateien müssen setlocal haben sie wieder zu aktivieren.
Das Skript oben genannt md2.cmd werden konnte, und dann würden Sie ohne mehrere Verzeichnisebenen mit "md2 a\b\c"
erstellen können garantiert werden, sich Sorgen zu machen, ob die Erweiterungen aktiviert wurden.
Fast jeder der cmd
Skripte Ich schreibe beginnt mit:
setlocal enableextensions enabledelayedexpansion
, um sicherzustellen, dass ich so nah wie möglich an das Verhalten meines geliebten bash
: -)
Andere Tipps
Unter Windows mkdir
schafft Verzeichnisbäume standardmäßig aktiviert.
mkdir a\b\c
Für einen seltsamen Grund, wenn ich ein Verzeichnis mit dem folgende Verfahren zu schaffen versucht;
mkdir src/main/java/main/resources
es hat nicht funktioniert, habe ich den Pfad in doppelten Anführungszeichen zu umgeben, wie unten dargestellt;
mkdir "src/main/java/main/resources"
Zusätzlich Unix ermöglicht dies;
mkdir -p src/main/java src/main/resources
, wobei zwei Zweige angelegt werden, wie unten gezeigt, das äquivalent zu dem auf Fenstern ist;
mkdir "src/java/resources" "src/main/resources"
src
-----java
-------resources
-----main
-------resources
Ich hoffe, das hilft! xox
Wenn Sie Schrägstriche verwenden vorwärts, nur die Verzeichnisstruktur geben Sie in doppelten Anführungszeichen wollen. mkdir "org / Rahmen / bu / fed / config"
mkdir standardmäßig macht alle Zwischenverzeichnisse. Einfach sicher, dass Sie ‚\‘ als Trennzeichen verwenden.