Эквивалента нет, но вы можете написать свою собственную функцию.
Я бы разбил проблему на две части.
- Преобразование шестнадцатеричного числа в десятичное.
- Преобразование десятичного числа в ASCII.
Преобразование из шестнадцатеричного в десятичное просто с помощью
set "myHex=4A"
set /a decimal=0x%myHex%
Преобразование числа в ASCII более сложно, этозависит от требуемого диапазона ASCII
Если вам нужен только диапазон от 32 (пробел) до 126 '~', вы можете использовать переменную =ExitCodeAscii
set "decimal=%1"
cmd /c exit /b %decimal%
echo "%=ExitCodeAscii%"
Если вам нужны также некоторые специальныетакие символы, как CR
, LF
, ESC
, DEL
, их можно создать с помощью чистого пакета.
Если вам нужно больше, чем вы могли бы использовать vbscript.
Метод forfiles
Более общий способ - использовать команду forfiles
( Dostips: генерировать практически любой символ ... )
echo-e.bat
@echo off
set "arg1=%~1"
set "arg1=%arg1:\x=0x%"
forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo(%arg1%"
Вы можете позвонить по номеру echo-e.bat "Hello\x01\x02\x03"
и получите Hello☺☻♥
.