There is the undocumented %=ExitCodeAscii% dynamic variable that converts the most recent error code (from EXIT, not EXIT /B), but it is limited to codes between 32 and 126.
I had never seen a native method to generate a TAB character that works on all Windows versions - until now
I recently ran across this FORFILES documentation gem at SS64.COM:
SS64.COM wrote:To include special characters in the command line, use the hex code for the character in 0xHH format (ex. 0x09 is theTAB character, 0x22 is the double quote " character.)
Eureeka - The following simple printHex routine can generate any byte code value except 0x00 (nul), 0x0A (newline), and 0x0D (carriage return).
Code: Select all
@echo off
setlocal
::Define a Linefeed variable
set LF=^
::above 2 blank lines are critical - do not remove.
::Create a TAB variable
call :hexprint "0x09" TAB
::Print a string with encoded TABs
call :hexprint "A0x09B0x09C"
::Create a string variable with encoded TABs
call :hexprint "A0x09B0x09C" var
set var
exit /b
:hexPrint string [rtnVar]
for /f eol^=^%LF%%LF%^ delims^= %%A in (
'forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo(%~1"'
) do if "%~2" neq "" (set %~2=%%A) else echo(%%A
exit /b
I'll be playing Native American style flutes at a retreat in the Blue Ridge Mountains of Virginia for the next 4 days , without computer access
I wanted to post this before I left.
Enjoy the code, while I enjoy the crisp fall air.
Dave Benham