1

Тема: AHK: Проверка даты создания файла

FileGetTime, start, file.txt, C

loop:
FileGetTime, loop, file.txt, C

IfNotInString, %start%, %loop%
{
MsgBox, изменился
} else {
MsgBox, не изменился
}

Goto, loop

Пробовал все функции на проверку значений переменных. Однако ни одна почему-то не выполняется.
Эта тоже не выполняет проверку:

if(%start%==%loop%)

Где я ступил?

2

Re: AHK: Проверка даты создания файла

FileGetTime, start, file.txt, C

Loop
{
   FileGetTime, loop, file.txt, C
   If (loop = start)
      MsgBox, не изменился
   Else
      MsgBox, изменился
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Проверка даты создания файла

Спасибо, работает.
Только не совсем понятно, почему мое не работало...

4

Re: AHK: Проверка даты создания файла

Во-первых, в команде IfNotInString первый параметр не значение переменной, а её имя. Потом, так сравнение в принципе не осуществляется. Строка "13" содержит в себе строку "3", но это не значит, что они равны.
А здесь

if(%start%==%loop%)

если то, что после if в скобках, значит это выражение, а в выражениях переменные указываются без знаков "%".

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Проверка даты создания файла

Однако более простая конструкция выполняется...

test:="test"
var:="test"

if(%test%==%var%) {
MsgBox, Условие выполнено
ExitApp
} else {
MsgBox, Условие не выполнено
ExitApp
}

6

Re: AHK: Проверка даты создания файла

Нет, не выполняется:

test = 1
var = 2
if (%test% == %var%)
   MsgBox, равно

В данном случае %test% (единица) и %var% (двойка) трактуются как имена переменных, а они одинаково пусты.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder