У меня есть этот пакетный скрипт для передачи некоторых значений в RaspberryPi, и теперь я хочу сохранить ответ в переменной. Я хочу этого, так как пока будет два возможных ответа: один в порядке, а другой в спящем режиме.
Когда он получит ответ SLEEP, я хочу запустить эту команду, чтобы перевести компьютер в спящий режим:
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
Пакетный скрипт выглядит так:
@echo off
set totalphysicalmemory=
set loadpercentage=
set freephysicalmemory=
set boottime=
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
set dow=%%i
set month=%%j
set day=%%k
set year=%%l
)
set datestr=%month% %day% %year%
FOR /F "tokens=2 delims='='" %%A in ('wmic cpu get loadpercentage /value') do SET loadpercentage=%%A
FOR /F "tokens=2 delims='='" %%A in ('wmic ComputerSystem get TotalPhysicalMemory /value') do SET totalphysicalmemory=%%A
FOR /F "tokens=2 delims='='" %%A in ('wmic OS get FreePhysicalMemory /value') do SET freephysicalmemory=%%A
FOR /f %%a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%%a
set BOOTTIME=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2% %DTS:~8,2%:%DTS:~10,2%
c:\"Program Files (x86)"\GnuWin32\bin\wget.exe "http://192.168.1.40/push.php?loadpercentage=%loadpercentage%&totalphysicalmemory=%totalphysicalmemory%&boottime=%boottime%&freephysicalmemory=%freephysicalmemory%" > wget.out
Я скопировал wget.exe и четыре другие библиотеки DLL в каталог system32, надеясь, что смогу выполнить команду без полного пути, но он жалуется на libeay32.dll, но эта библиотека DLL существует в каталоге System32. Я не знаю, что проблема ... но если есть способ получить ответ в переменную, даже используя полный путь к wget, так как мой скрипт сейчас, он будет неидеальным, теперь скрипты запускаются каждые 5 минут, и он работает отлично, но он ничего не делает с ответом от RasPi.
Как я могу сохранить вывод из wget в переменную?
UPDATE @LotPings после попытки изменить ваш скрипт (https://superuser.com/a/1228066/746701), он запускает программу wget.exe, правильно делает запрос (я проверил apache2 access.log), но все равно не ' t сохранить ответ в этой переменной, вы можете увидеть ошибку о переменной WebResponse
C:\Ovis>wget.bat
freephysicalmemory=10421416
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc
--2017-07-09 16:04:56-- http://192.168.1.40/push.php?freephysicalmemory=10421416
Connecting to 192.168.1.40:80... conectat.
Cerere HTTP trimisă, se aşteaptă răspuns... 200 OK
Dimensiune: 5 [text/html]
Saving to: `push.php@freephysicalmemory=10421416'
100%[==============================================================================>] 5 --.-K/s in 0s
2017-07-09 16:04:56 (757 KB/s) - `push.php@freephysicalmemory=10421416' saved [5/5]
Environment variable WebResponse not defined