[CMD] Триггер через GET-запросы средствами CMD

Любопытный дед

Новый пользователь
Сообщения
4
Реакции
2
Всем привет. Есть сайт ifttt.com который позволяет включать выключать умные розетки через GET запросы. Беда в том. что этих запросов два один на вкл, другой на выкл. Подскажите как управлять одним батником. Думаю скрипт должен включить и записать в файл единицу, а при следующем нажатии проверить, что там в файли и если единица, поменять её на ноль и выключить.
Как отправлять GET запросы я разобрался, а вот с манипуляциями переменных сложновато. Подскажите пожалуйста, а если еще и готовый скрипт напишите ох какое счастье мил человек мне сделаешь)))
 
Используя curl пробовали?
CMD/BATCH:
set URL1=https://www.example.com/
set URL2=https://www.example.com/api/data
set URL3=https://www.example.com/api/users

curl %URL1%
curl %URL2%
curl %URL3%
 
Используя curl пробовали?
CMD/BATCH:
set URL1=https://www.example.com/
set URL2=https://www.example.com/api/data
set URL3=https://www.example.com/api/users

curl %URL1%
curl %URL2%
curl %URL3%

Именно его и использую, но для этого надо два ярлыка.
C:\Program Files\curl-7.77.0-win64-mingw\bin\curl.exe https://maker.ifttt.com/trigger/Socket_2_on/with/key/EtGFJ5dublabla
C:\Program Files\curl-7.77.0-win64-mingw\bin\curl.exe https://maker.ifttt.com/trigger/Socket_2_off/with/key/EtGFJ5dublabla
Хочу сделать переключатель, может это можно через переменную в памяти сделать, но я готов и через файл?

Если в файле 1, то curl %URL1% и меняем 1 на 0.
Если в файле 0 (или нет файла), то curl %URL2% и меняем 0 на 1.

А если можно указать номер строки и брать первый символ, то я бы мог хранить разные параметры в одном файле и комментарии к ним. Типо:
1 - лампочка
0 - розетка
FF15A5 - LED подсветка (с зазором на будущее)
 
Последнее редактирование:
Если собрать несколько переключателей в одном файле, то не будет ли ситуация, когда включая розетку отключаем лампочку и подсветку?
 
Если собрать несколько переключателей в одном файле, то не будет ли ситуация, когда включая розетку отключаем лампочку и подсветку?
Навряд ли, ну пусть будет у каждого свой файл.
Как прочитать нашел:
Код:
@echo Off
:: logname.txt - файл с текстом
::content - переменная, куда запишется текст
set /p content=< status.temp
:: вывод содержимого
Echo %content%

осталось сопоставить, записать и выполнить
 
Последнее редактирование модератором:
Вот как то так, файл сохранять в кодировке utf8, иначе в выводе будут крякозябры.
CMD/BATCH:
@echo off
chcp 65001
setlocal EnableDelayedExpansion

rem Устанавливаем имя файла для хранения значения выключателя
set SWITCH_FILE=%~dp0switch.txt

rem Если файл не существует, создаем его и записываем значение "off"
if not exist "%SWITCH_FILE%" echo.off>"%SWITCH_FILE%"

rem Читаем значение выключателя из файла
set /p SWITCH=< "%SWITCH_FILE%"
set "SWITCH=!SWITCH:~0,3!"

rem Выводим значение выключателя на экран
echo Состояние переключателя: !SWITCH!

rem Устанавливаем URL-адрес для GET-запросов в зависимости от значения выключателя
if "!SWITCH!"=="on" (
    set URL=http://www.example.com/getRequest1
    echo Выполнение GET-запроса 1...
) else (
    set URL=http://www.example.com/getRequest2
    echo Выполнение GET-запроса 2...
)

rem Отправляем GET-запрос на сайт, используя утилиту curl и переменную URL
curl %URL%

rem Инвертируем значение выключателя
if "!SWITCH!"=="on" (
    echo.off>"%SWITCH_FILE%"
    set SWITCH=off
) else (
    echo.on>"%SWITCH_FILE%"
    set SWITCH=on
)

rem Выводим новое значение выключателя на экран
echo Новое состояние переключателя: !SWITCH!

rem Выводим сообщение о завершении скрипта
echo Скрипт завершен!

pause
endlocal
 
Последнее редактирование:
Легкая правка под конкретную задачу и код полностью великолепен. Искренние вам благодарен и признателен за сэкономленный мне может и не один вечер и возможно не только мне) Спасибо Вам, за то, что делаете)
 
Назад
Сверху Снизу