Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > shell, создание директории "текущее время"


Автор: Tsahes 31.1.2007, 16:52
Подскажите, как средствами cmd shell создать директорию с именем, которое будет содержать текущий год, месяц, день, часы, минуты и секунды.
Текущий вариант позволяет получать только год-месяц-день:
Код

set DST_DIR=dir-%DATE%
mkdir %DST_DIR%

Если получить недостающее время при помощи TIME /T, то можно ли выделить из результата часы-минуты-секунды?

Автор: dumb 31.1.2007, 18:42
Код

set DirName=%DATE:.=%_%TIME::=%
set DirName=dir-%DirName:~0,-3%
mkdir %DirName%

Автор: mihanik 1.2.2007, 09:41
Создаются сразу две директории...

Автор: mihanik 1.2.2007, 10:26
Вот... Написал примерчик на VBS

Код

Dim MyName
Dim MyPath
Dim fso, fldr

MyName = cstr(now())
MyName = Replace(MyName, ":", ".")
MyPath = Wscript.ScriptFullName
MyPath = mid(MyPath,1,instrrev(MyPath,"\"))
MyPath = MyPath + MyName

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set fldr = fso.CreateFolder(MyPath )


В приложении находится файл с этим кодом...







Автор: dumb 1.2.2007, 14:22
Цитата(mihanik @  1.2.2007,  09:41 Найти цитируемый пост)
Создаются сразу две директории...

какие? user posted image

user posted image

Автор: mihanik 1.2.2007, 15:39
Извини, dumb!!!

Видно у меня комп взглюкнул тогда...
Сейчас создал батничек с твоими командами, всё работает.

Автор: Tsahes 2.2.2007, 09:47
Цитата(mihanik @ 1.2.2007,  15:39)
Извини, dumb!!!

Видно у меня комп взглюкнул тогда...
Сейчас создал батничек с твоими командами, всё работает.

С компьютером все в порядке. До полудня скрипт создает две директории, потому что первым символом в часах будет пробел. Поэтому лучше заключить название директории в кавычки:
Код

mkdir "%DirName%"


Автор: mihanik 2.2.2007, 09:58
Tsahes, молодец, что разобрался!!!

А моему скрипту пофигу на время суток...   smile 

Автор: dumb 2.2.2007, 13:12
пардон. косяк. user posted image
хотя, справедливости ради, стоит заметить, что это таки дебилизм с их(ms) стороны - вместо "0" именно в часах пробел ставить... сделали б еще " 7: 3: 5, 1", мать их... user posted image

Код

set DirName=%DATE:.=%_%TIME::=%
set DirName=%DirName: =0%
set DirName=dir-%DirName:~0,-3%
mkdir "%DirName%"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)