mirror of
https://github.com/cosinekitty/astronomy.git
synced 2026-01-02 12:39:18 -05:00
In many of my Windows batch files, I used the following
construct to detect failures:
do_something
if errorlevel 1 (
echo.An error occurred in do_something
exit /b 1
)
I discovered that it is possible for a Windows program
to exit with a negative integer error code.
This causes the above construct to miss the failure
and the batch file blithely continues.
So I have replaced that construct with
do_something || (
echo.An error occurred in do_something
exit /b 1
)
This way, if the command exits with any nonzero error,
we correctly detect it as a failure.
16 lines
368 B
Batchfile
16 lines
368 B
Batchfile
@echo off
|
|
setlocal EnableDelayedExpansion
|
|
|
|
for /L %%y in (1800,10,2100) do (
|
|
if not exist %%y.json (
|
|
echo.Downloading moon phase data for year %%y
|
|
curl -o %%y.json "https://api.usno.navy.mil/moon/phase?year=%%y" || (
|
|
echo.Something bad happened.
|
|
exit /b 1
|
|
)
|
|
)
|
|
)
|
|
|
|
node parse_moon_phases.js || exit /b 1
|
|
exit /b 0
|