[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
规定的打印形式比较怪异
为什么只分两栏?
贴一个近似的
以10进制码值计算偏移
应该也可以以16进制码值计算偏移
  1. :: ASCPrint.cmd - 按照特定形式打印ASCII字符集 - qzwqzw
  2. @echo off & setlocal EnableDelayedExpansion & chcp 437 & cls
  3. call ascmap.cmd ascmap
  4. for /l %%i in (1,1,255) do set "$%%i=!ascmap:~%%i,1!"
  5. set values="$0=<NUL>" "$7=<BELL>" "$8=<BS>" "$9=<TAB>" "$10=<LF>" "$13=<CR>" "$32=<SPACE>"
  6. for %%v in (%values%) do set %%v
  7. for /l %%i in (0,1,3) do (
  8. for /l %%j in (0,1,31) do (
  9. set /a n1=%%i*64+%%j,n2=%%i*64+32+%%j
  10. cmd /c exit /b !n1!
  11. set "no1=  !n1! !=ExitCode:~-2!"
  12. for %%i in (!n1!) do set "ch1=!$%%i!       "
  13. cmd /c exit /b !n2!
  14. set "no2=  !n2! !=ExitCode:~-2!"
  15. for %%i in (!n2!) do set "ch2=!$%%i!       "
  16. echo !no1:~-6! !ch1:~0,7!  ^|  !no2:~-6! !ch2:~0,7!
  17. )
  18. echo.
  19. )
复制代码
1

评分人数

    • plp626: 分四栏,是我没描述好,可否更新下代码PB + 6 技术 + 1
天的白色影子

TOP

本帖最后由 qzwqzw 于 2011-6-9 22:30 编辑

更换为以16进制码值为单位打印的
同时根据楼主的要求改换为4栏打印
再进一步比较大小没有时间完成了
有兴趣的可以继续
  1. :: ASCPrint.cmd - 按照特定形式打印ASCII字符集 - qzwqzw
  2. @echo %debug% off & setlocal EnableDelayedExpansion & chcp 437 & cls
  3. call ascmap.cmd ascmap
  4. for /l %%i in (1,1,255) do set "$%%i=!ascmap:~%%i,1!"
  5. set values="$0=<NUL>" "$7=<BELL>" "$8=<BS>" "$9=<TAB>" "$10=<LF>" "$13=<CR>" "$32=<SPACE>"
  6. for %%v in (%values%) do set %%v
  7. for %%s in ("0-2-4-6 1-3-5-7" "8-A-C-E 9-B-D-F") do (
  8.     for %%t in (%%~s) do (
  9.         for %%i in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
  10.             for /f "tokens=1-4 delims=-" %%a in ("%%t") do (
  11.                 set values="h1=%%a%%i" "h2=%%b%%i" "h3=%%c%%i" "h4=%%d%%i"
  12.                 for %%v in (!values!) do set %%v
  13.                 for %%j in (1 2 3 4) do (
  14.                     set /a d%%j=0x!h%%j!
  15.                     set "n%%j=  !d%%j!"
  16.                     for %%v in ($!d%%j!) do set "ch%%j=!%%v!       "
  17.                     set out%%j=!n%%j:~-3! 0x!h%%j! !ch%%j:~0,7!
  18.                 )
  19.                 echo  !out1! %$179% !out2! %$179% !out3! %$179% !out4!
  20.             )
  21.         )
  22.     )
  23.     echo.
  24. )
  25. if "%~0"=="%~f0" pause
复制代码
1

评分人数

    • plp626: 不错,谢谢参与PB + 2
天的白色影子

TOP

返回列表