Пакет — пропускает ли MKDIR папку, если она уже существует, и переходит к следующей?

Я пытаюсь создать пакетный файл, который создает серию папок в уже существующем каталоге. Если часть каталога уже существует, MKDIR пропустит его и продолжит работу вниз по каталогу или перезапишет его?

Пример кода здесь:

mkdir %cdriveletter%\Steam\SteamApps\common\Counter-Strike Source\cstrike\custom\my_custom_skins\

В этом коде я хочу создать только папку MyCustomSkins, но она должна находиться в этом каталоге. Я не хочу, чтобы он перезаписывал материал перед ним.

Будет ли этого достаточно?


person Community    schedule 07.01.2015    source источник
comment
mkdir никогда ничего не удаляет   -  person Endoro    schedule 07.01.2015


Ответы (1)


Команда mkdir создаст любые папки, которые не существуют по указанному пути, если только расширения не отключены (setLocal enableExtensions) — независимо от того, она не уничтожит каталог и создаст новый с тем же именем.

См. mkdir /? -

...

MKDIR creates any intermediate directories in the path, if needed.
For example, assume \a does not exist then:

    mkdir \a\b\c\d

is the same as:

    mkdir \a
    chdir \a
    mkdir b
    chdir b
    mkdir c
    chdir c
    mkdir d

which is what you would have to type if extensions were disabled.

Вероятно, вам также следует заключить свой путь в кавычки.

Примечание. Вы можете проверить это самостоятельно, создав несколько «тестовых» каталогов и написав аналогичную команду.

person unclemeat    schedule 07.01.2015
comment
это то, что вам нужно было бы ввести, если бы расширения были отключены - вы можете уточнить свое первое предложение в свете этого. - person paxdiablo; 07.01.2015