mkdir, który zastępuje istniejący katalog

15

Gdy próbuję uruchomić mkdir build, aby utworzyć buildkatalog, jeśli katalog już istnieje, to zostanie zgłoszony błąd: A subdirectory or file build already exists.. Muszę usunąć i zastąpić ten katalog. Jakie jest na to polecenie?

Shawn Mclean
źródło

Odpowiedzi:

12

Możesz usunąć katalog kompilacji za pomocą

rd /s /q build

lub

if exist build rd /s /q build
Harry Johnston
źródło
Aby uzyskać najlepsze wyniki, uruchom to polecenie dwukrotnie. Czasami zawiedzie, jeśli np. Windows Search indeksuje ten katalog w niewłaściwym czasie.
Harry Johnston,
4

Chciałem utworzyć katalog tylko wtedy, gdy nie istnieje.
Jeśli istnieje, nie ma nic do zrobienia

Poniżej świetnie działał w pliku nietoperza:

if not exist someDir1 mkdir someDir1
Manohar Reddy Poreddy
źródło
2

Nie sądzę, aby można było użyć tego mkdirpolecenia natywnie (chociaż gdybyś chciał zrobić trochę więcej skryptów, byłoby to możliwe).

Prostą alternatywą jest następujące polecenie w PowerShell:

New-Item path -type directory -force

Gdzie pathjest coś takiegoC:\users\name\build

Więcej informacji na New-Item: http://technet.microsoft.com/en-us/library/ee176914.aspx

soandos
źródło
Nie mogę wykonać programu PowerShell, ponieważ nazywam to ze skryptu rake.
Shawn Mclean,
0

Możesz spróbować wykonać rdpolecenie, aby usunąć katalog. Musisz jednak najpierw upewnić się, że katalog jest pusty.

Henz
źródło
To powoduje błąd, jeśli w katalogu znajdują się elementy.
Shawn Mclean,
-3

To polecenie może pomóc:

mkdir -p a & rm -r a & mkdir a

To moja odpowiedź w Stackoverflow

Daniel Antonio Nuñez Carhuayo
źródło
1
Przeczytaj uważnie pytanie ponownie. Twoja odpowiedź nie odpowiada na pierwotne pytanie. OP używa systemu Windows, a nie Unix.
DavidPostill