mkdir que sobrescreve qualquer diretório existente

15

Se eu tentar correr mkdir buildpara criar um builddiretório, se o diretório já existe, este erro é lançado: A subdirectory or file build already exists.. Eu preciso excluir e substituir este diretório. Qual é o comando para isso?

Shawn Mclean
fonte

Respostas:

12

Você pode excluir o diretório de construção com

rd /s /q build

ou

if exist build rd /s /q build
Harry Johnston
fonte
Para melhores resultados, execute este comando duas vezes. Às vezes, falhará se, por exemplo, a Pesquisa do Windows estiver indexando esse diretório na hora errada.
Harry Johnston
4

Eu queria criar um diretório apenas se ele não existir.
Se existir, nada a ver

Abaixo funcionou muito bem no arquivo bat:

if not exist someDir1 mkdir someDir1
Manohar Reddy Poreddy
fonte
2

Eu não acho que é possível usar o mkdircomando para fazer isso de forma nativa (embora, se você quiser fazer um pouco mais de script, isso seria possível).

Uma alternativa simples é o seguinte comando no PowerShell:

New-Item path -type directory -force

Onde pathé algo comoC:\users\name\build

Para New-Itemsaber mais, consulte: http://technet.microsoft.com/en-us/library/ee176914.aspx

soandos
fonte
Não consigo executar o PowerShell, pois estou chamando isso de um script rake.
perfil completo de Shawn Mclean
0

Você pode tentar o rdcomando para remover o diretório Você precisa garantir que o diretório esteja vazio primeiro.

Henry
fonte
Isso gera um erro se houver elementos no diretório
perfil completo de Shawn Mclean
-3

Este comando pode ajudar:

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

Esta é a minha resposta no stackoverflow

Daniel Antonio Nuñez Carhuayo
fonte
1
Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original. O OP está usando o Windows, não o Unix.
DavidPostill