формат даты для имени нового архива %date:~6,4%\%date:~3,2%\%~n1_%date:~0,2%
Задача - батник, для ежедневной плановой архивации данных при помощи 7-z
Найдено много примеров, справочник по командам... все есть все готово - работает. В процессе, просто перенял конструкцию из примера, где вновь созданный архив именовался значением текущей даты, но так как ":" или "/" в именах файлов использоваться не могут переменная %Date% в стандартном виде не могла быть использована, Автор решил проблему таким образом... присвоив переменной которая впоследствии выступает именем архива следующее значение ...%date:~6,4%_%date:~3,2%_%date:~0,2% Очень много примеров в сети с использованием такой схемы, но нигде мне так и не удалось получить обяснения этих загадочных "6,4" , "3,2" после унарного оператора "~" .... Очень хотелось бы узнать, что это за значения, откуда они берутся, или как вычисляются? |
хм... а set /? Вы не хотите попробовать? А еще прямо в начале радела по скриптам есть полезная ссылка...
А если в кратце, то Если вместо %переменная% взять %переменная:~начало,длина% - получим часть строки ;) |
:o прозрение...
Спасибо. Юзверь, хоть и опытный, - все равно юзверь :) PS: А в справке так и не удалось найти ничего на этот счет... Set /? тоже ничего особенного не дает - кажет, что "~" среди прочих - унарный оператор (принцип - то изначально был понятен, я почему-то сразу не сообразил, что это позиция вхождения и кол-во символов через запете :dont-know )... Так в каком разделе все таки можно почитать "Маркса" ? |
|
Имея небольшой опыт объектно-ориентированного программирования, я почему-то был полностью уверен, что переменная %DATE% имеет соответствующий тип данных - "дата", а получается что %DATE% - это "строка"? :dont-know
В этой среде получается нет разделения на типы данных, они все строковые? |
Небольшая памятка:
Код:
@Echo Off |
Время: 03:25. |
Время: 03:25.
© OSzone.net 2001-