Send
не нужны или перед ними нужно %
. Также почитайте Repeating or Holding Down a Key.Loop
желательно поместить небольшой Sleep
для снижения нагрузки на процессор.Return
после вечного цикла и после ExitApp
.Return
, так как запись~F3:: Suspend, Toggle
~F3::
Suspend, Toggle
Return
@echo off
certutil F:\\find\\3123.crl| find /v /n "">temp.txt
set "str=0178dd6f0071aca5b6474113327488997f"
for /f "delims=[]" %%1 in ('find "%str%"^<temp.txt') do call :sub %%1
del temp.txt
exit /b
:sub
set /a skip = %1 - 1
for /f "skip=%skip% tokens=1,* delims=]" %%1 in (temp.txt) do (
echo(%%2
if "%%2"=="" exit /b
)
chcp 1251>nul
.)find
или findstr
… *
: в Си X[i][j]
можно заменить на *(*(X + i) + j)
(а также на *(X[i] + j)
или (*(X + i))[j]
).X
может быть (в скобках указано в каких случаях уместна запись X[i][j]
):a
) массивом массивов;b
) указателем на массив (являющегося 0-й элементом динамического массива массивов);c
) массивом указателей (на 0-е элементы динамических массивов);d
) указателем на указатель (на 0-й элемент динамического массива указателей на 0-е элементы динамических массивов).#define TElem int
#define M 2
#define N 3
TElem a[M][N] // массив массивов
= {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
TElem (*b)[N] = &a[0]; // указатель на массив
/* // то же самое,
TElem (*b)[N] = a; // но короче
*/
TElem *c[M] = {a[0], a[1]}; // массив указателей
TElem **d = &c; // указатель на указатель
#include <stdio.h>
int main(void) {
TElem x;
#define i 1
#define j 2
puts("X[i][j]");
x = a[i][j]; printf("%d\n", x);
x = b[i][j]; printf("%d\n", x);
x = c[i][j]; printf("%d\n", x);
x = d[i][j]; printf("%d\n", x);
puts("(*(X + i))[j]");
x = (*(a + i))[j]; printf("%d\n", x);
x = (*(b + i))[j]; printf("%d\n", x);
x = (*(c + i))[j]; printf("%d\n", x);
x = (*(d + i))[j]; printf("%d\n", x);
puts("*(X[i] + j)");
x = *(a[i] + j); printf("%d\n", x);
x = *(b[i] + j); printf("%d\n", x);
x = *(c[i] + j); printf("%d\n", x);
x = *(d[i] + j); printf("%d\n", x);
puts("*(*(X + i) + j)");
x = *(*(a + i) + j); printf("%d\n", x);
x = *(*(b + i) + j); printf("%d\n", x);
x = *(*(c + i) + j); printf("%d\n", x);
x = *(*(d + i) + j); printf("%d\n", x);
return 0;
}
Gui Add, Text,, Время действия:
Gui Add, DateTime, vDateTime, yyyy-MM-dd HH:mm:ss
Gui Add, Button, Section Default gAction, OK
Gui Add, Button, YS gExitApp, Отмена
Gui Show
Exit
Action:
Gui Submit, NoHide
DelayInSeconds = %DateTime%
EnvSub DelayInSeconds, A_Now, seconds
IfLess DelayInSeconds, 0, {
MsgBox Выбрано значение в прошлом!
Exit
}
Gui Destroy
Sleep DelayInSeconds * 1000
Send G
GuiClose:
GuiEscape:
ExitApp:
ExitApp
for /f "delims=_" %J in ("стро_ка") do rem Что то делаем с %J - частью строки до "_"
for %I in (*.jpg) do for /f "delims=_" %J in ("%I") do (
if not exist "%J\" md "%J"
move "%~I" "%J\"
)
%
на %%
. Мне нужно объявить переменную что-бы она зашла в каталог и нашла там любой (все) файл (файлы) .mp4
Как мне задать путь переменной?А это что-такое? Может быть, «путь в переменной»?
set let1="Your_files\*.mp4"
— не работает. Выдаёт:Your_files\*.mp4: Invalid argument
set let2="Result\%%~na.gif"
%%~na
вне циклов смысла не имеет…for %%a in ("Your_files\*.mp4") do (
ffmpeg -i "%%~a" -filter_complex "fps=10,scale=-1:-1:flags=lanczos,split[o1][o2];[o1]palettegen[p];[o2]fifo[o3];[o3][p]paletteuse" "Result\%%~na.gif"
)
pause
SET
.FOR
с ключом /F
.