PDA

Показать полную графическую версию : Скорректируйте, пожалуйста, создание папки с датой


n e w b i e
02-12-2011, 22:19
В наличии файл с содержимым,
@echo off

set year=%DATE:~-4%

set dmy=%DATE:~0,2%%DATE:~3,2%%DATE:~-4%

if exist e:\ISO\%year% (

cd e:\ISO\%year%

mkdir %dmy%

) else (

mkdir e:\ISO\%year%\%dmy%

)
при запуске создаёт по указанному пути всё что нужно, но если запустить повторно, после проверки наличия папки с годом, создаёт папку с датой в каталоге, откуда происходит его запуск, скорректируйте пожалуйста (быть может можно и упростить донельзя)

Iska
03-12-2011, 03:55
n e w b i e, прочтите:
md /?
Создание каталога.

MKDIR [диск:]путь
MD [диск:]путь

Изменение команды MKDIR при включении расширенной обработки команд:

Команда MKDIR создает при необходимости все промежуточные каталоги в пути.
Например, если \a не существует, то:

mkdir \a\b\c\d

приводит к тому же результату, что и:

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

При отключении расширенной обработки команд используется только второй вариант.
и используйте расширенную обработку команд (вообще-то, она включена по умолчанию; главное, не забывать этим пользоваться), наподобие:
@echo off
setlocal enableextensions enabledelayedexpansion

set sFolder=e:\ISO

set sYear=%DATE:~-4%
set sDMY=%DATE:~0,2%%DATE:~3,2%%DATE:~-4%

md "%sFolder%\%sYear%\%sDMY%"

endlocal
exit /b 0

P.S. А почему не в формате «YYYYMMDD»? Это же удобнее.




© OSzone.net 2001-2012