One of my early posts on DosTips was a :chr routine that could convert a number into the corresponding character. The final code that appears near the end of the thread works really well, and is fast, but nearly all the characters must be embedded in the script. The TAB character in particular can be problematic, especially when trying to post the code on a forum site.
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:
Eureeka :idea: - The following simple printHex routine can generate any byte code value except 0x00 (nul), 0x0A (newline), and 0x0D (carriage return). 8)
@echo offsetlocal::Define a Linefeed variableset LF=^::above 2 blank lines are critical - do not remove.::Create a TAB variablecall :hexprint "0x09" TAB::Print a string with encoded TABscall :hexprint "A0x09B0x09C"::Create a string variable with encoded TABscall :hexprint "A0x09B0x09C" varset varexit /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(%%Aexit /b
I'll be playing Native American style flutes at a retreat in the Blue Ridge Mountains of Virginia for the next 4 days :D , without computer access :|
I wanted to post this before I left.
Enjoy the code, while I enjoy the crisp fall air. :)
Dave Benham
新闻热点
疑难解答