NSIS: Получение даты и времени.
Иногда бывает нужно получить в скрипте установки локальную дату и время, или дату и время, связанную с файлом (модификации, создания или последнего доступа к файлу). В NSIS это делает одна стандартная функция, точнее, макрос
${GetTime}.Для того, чтобы использовать
GetTime, необходимо подключить заголовочный файл FileFunc.nsh (должен идти в стандартной поставке) и сам макрос GetTime:!include "FileFunc.nsh"
!insertmacro GetTimeВот начало инсталляционного скрипта:
Unicode true
!include "FileFunc.nsh"
!insertmacro GetTime
Name "GetLocalTime"
OutFile "GetLocalTime.exe"
ShowInstDetails show
RequestExecutionLevel User
;Далее будет тестовая секция${GetTime} "[File]" "[Option]" $var1 $var2 $var3 $var4 $var5 $var6 $var7где:
-
"[File]" - файл (параметр игнорируется при использовании опций "L" или "LS")-
"[Option]" - опции (см. далее)-
$var1 - День-
$var2 - Месяц-
$var3 - Год-
$var4 - День недели (наименование на английском языке)-
$var5 - Час-
$var6 - Минута-
$var7 - СекундаОпции:
L - локальное время компьютераA - время последнего доступа к файлуC - время создания файлаM - время последнего изменения файлаLS - системное время (то же самое, что и L, только используется часовой пояс UTC)AS - время последнего доступа к файлу (UTC)CS - время создания файла (UTC)MS - время последнего изменения файла (UTC)Section "Test"
; Получаем время компьютера
${GetTime} "" "L" $0 $1 $2 $3 $4 $5 $6
; Выводим его в окошко лога инсталлятора
DetailPrint "Local date and time:"
DetailPrint "$2/$1/$0 ($3) $4:$5:$6"
; Можно преобразовать время в строку
; чтоб добавить к имени файла
DetailPrint "String to add time in filename:"
StrCpy $0 "$2-$1-$0-$4-$5-$6"
; и вывести ее
DetailPrint "$0"
SectionEnd
- Пример на GitHub
- how to get the date and time?
- E.1.6 GetTime
Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2023/03/19/nsi