How to get weather via cmd in Windows 8.1 using cURL?

enter image description here


To save descriptions and temperature in variable from your bat file, also removing these two characters ┬░ (in hex [0xB0 and 0xC2) from wttr.in output London: +13┬░C and also get back the degree sign º in you var:

@echo off 

cd /d "%~dp0" && setlocal EnableDelayedExpansion

>nul chcp 437 && set /p "_city=Please, enter some location, city, an attraction: " 
for /f "delims= " %%d in ('forFiles /p "." /m "%~nx0" /c "cmd /c echo(0xF8"')do set "_o=%%~d"

for /f tokens^=* %%i in ('^<con: curl https://wttr.in/%_city: =+%^?format^=%%l:+%%t\n -s
')do for /f %%T in ('^<con: cmd /u /c "echo\%%~i"^<nul^|find/v "%_o%"^|findstr /v ^,"
')do set "_dt=!_dt!%%~T"

set "_description_temperature=!_dt::=: !" && call echo\!_description_temperature:+=!!_o!C

timeout -1 & endlocal & goto :eof 
  • Outputs:
London: +13°C

rem :: char      hex code
rem ::  ░    ==   0xB0   // removed in loop
rem ::  ┬    ==   0xC2   // removed in loop
rem ::  °    ==   0xF8   // set _description_temperature=!_dt::=: !!_o!


Old//

  • In PowerShell:

You can use PowerShell solution from @igor_chubin

(curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content
powershell -nop -c "(curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content"
  • In batch file:
@echo off && title <nul && title %~nx0 && mode 128,45

powershell -nop -c "(curl http://wttr.in/riodejaneiro -UserAgent "curl" ).Content"
  • In Windows with curl:
curl http://wttr.in/riodejaneiro 

Obs.: When using whiteout provide some location (curl http://wttr.in), your current location will be assumed to display the data. ...

  • You also can use the command line:
set _temp=cmd /a /v /c "curl wttr.in/RioDeJaneiro?format=^%t --silent"

%_temp%

You can also define outputs:

> curl wttr.in/London?format=%l:+%t\n
London: +13°C
  • To specify your own custom output format, use the special %-notation:
    c    Weather condition,
    C    Weather condition textual name,
    h    Humidity,
    t    Temperature (Actual),
    f    Temperature (Feels Like),
    w    Wind,
    l    Location,
    m    Moonphase ,
    M    Moonday,
    p    precipitation (mm),
    P    pressure (hPa),

    D    Dawn*,
    S    Sunrise*,
    z    Zenith*,
    s    Sunset*,
    d    Dusk*.

        (*times are shown in the local timezone)

    $ curl wttr.in/London?format=3
    London: ⛅️ +7⁰C
    $ curl wttr.in/London?format="%l:+%c+%t\n"
    London: ⛅️ +7⁰C

If you want to know the name of one of the coldest permanently inhabited locales on the planet and get the weather in there:

curl wttr.in/*

Get the temperature into a variable:

@echo off
chcp 1252 > nul
::Put your city here:
set City=Rio de Janeiro

set City_=%City: =-%
for /f "Delims=" %%a in ('curl --silent wttr.in/%City_%?format^=%%t') do set "CTemperature=%%a"
set CTemperature=%CTemperature:+=%
set CTemperature=%CTemperature:~0,-3%
echo The current temperature in %City% is %CTemperature% º Celcios
echo.
pause

Get temperature and weather description into variables:

@echo off
chcp 1252 > nul
::Put your city here:
set City=Rio de Janeiro

set City_=%City: =-%
for /f "Delims=" %%a in ('curl --silent wttr.in/%City_%?format^=%%t') do set "CTemperature=%%a"
set CTemperature=%CTemperature:+=%
set CTemperature=%CTemperature:~0,-3%
for /f "skip=1 tokens=4*" %%a in ('curl --silent wttr.in/%City_%?0') do set "Description=%%a %%b"& goto :Next
:Next
echo.
echo The current temperature in %City% is %CTemperature% º Celcios "%Description%"
echo.
pause