mkdir, который перезаписывает любой существующий каталог

15

Если я пытаюсь запустить , mkdir buildчтобы создать buildкаталог, если каталог уже существует, то генерируется эта ошибка: A subdirectory or file build already exists.. Мне нужно удалить и перезаписать этот каталог. Какая команда для этого?

Шон Маклин
источник

Ответы:

12

Вы можете удалить каталог сборки с помощью

rd /s /q build

или

if exist build rd /s /q build
Гарри Джонстон
источник
Для достижения наилучших результатов, запустите эту команду дважды. Иногда происходит сбой, если, например, Windows Search индексирует этот каталог в самый неподходящий момент.
Гарри Джонстон
4

Я хотел создать каталог, только если он не существует,
если он существует, ничего не делать

Ниже отлично работает в файле bat:

if not exist someDir1 mkdir someDir1
Манохар Редди Поредди
источник
2

Я не думаю, что возможно использовать mkdirкоманду, чтобы сделать это изначально (хотя, если бы вы захотели сделать немного больше сценариев, это было бы возможно).

Простая альтернатива - следующая команда в powershell:

New-Item path -type directory -force

Где pathчто то типаC:\users\name\build

Для получения дополнительной информации New-Itemсм .: http://technet.microsoft.com/en-us/library/ee176914.aspx

soandos
источник
Я не могу выполнить powershell, поскольку я вызываю это из сценария рейка.
Шон Маклин
0

Вы можете попробовать rdкоманду, чтобы удалить каталог. Сначала вы должны убедиться, что каталог пуст.

Генри
источник
Это выдает ошибку, если в каталоге есть элементы.
Шон Маклин,
-3

Эта команда может помочь:

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

Это мой ответ в stackoverflow

Даниэль Антонио Нуньес Кархуайо
источник
1
Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос. OP использует Windows, а не Unix.
DavidPostill