diff --git a/lib/dtutils/system.lua b/lib/dtutils/system.lua index 10ea29f..31bf6b2 100644 --- a/lib/dtutils/system.lua +++ b/lib/dtutils/system.lua @@ -90,9 +90,11 @@ function dtutils_system.windows_command(command) file:write('for /f "tokens=2 delims=:." %%x in (\'chcp\') do set cp=%%x\n') file:write("chcp 65001>nul\n") -- change the encoding of the terminal to handle non-english characters in path file:write("\n") + file:write("set COMMAND_RC=%ERRORLEVEL%") file:write(command .. "\n") file:write("\n") file:write("chcp %cp%>nul\n") + file:write("exit /b %COMMAND_RC%") -- otherwise, when the real command fails, script will still return "good" error code of chcp file:close() result = dt.control.execute(fname)