Board logo

标题: [文本处理] writeloca_win32 控制台输出彩色文本 [打印本页]

作者: email10t    时间: 2015-3-2 15:45     标题: writeloca_win32 控制台输出彩色文本

writeloca_win32.exe 控制台输出彩色文本

使用方法:
   writeloca_win32 [背颜色][前颜色] [列号] [行号] [字符串]

   前景色:
   0 = 黑色       8 = 灰色     1 = 蓝色       9 = 淡蓝色
   2 = 绿色       A = 淡绿色   3 = 湖蓝色     B = 淡浅绿色
   4 = 红色       C = 淡红色   5 = 紫色       D = 淡紫色
   6 = 黄色       E = 淡黄色   7 = 白色       F = 亮白色

   背景色:
   0 = 黑色       8 = 灰色     1 = 蓝色       9 = 淡蓝色
   2 = 绿色       A = 淡绿色   3 = 湖蓝色     B = 淡浅绿色
   4 = 红色       C = 淡红色   5 = 紫色       D = 淡紫色
   6 = 黄色       E = 淡黄色   7 = 白色       F = 亮白色
作者: email10t    时间: 2015-3-2 15:48

本帖最后由 email10t 于 2015-3-2 16:31 编辑

下载地址:http://pan.baidu.com/s/1qWqhtk4
(因为附件大于 50K。)
作者: email10t    时间: 2015-3-2 15:54

实例.bat
  1. @echo off
  2. chcp 437 & graftabl 936
  3. writeloca_win32 & cls
  4. writeloca_win32 0E 0 0 "Hello, World!"
  5. pause>nul
复制代码

作者: email10t    时间: 2015-3-2 16:36

源代码:
  1. @echo off
  2. :: ax = b8h
  3. :: bx = bbh
  4. :: cx = b9h
  5. :: dx = bah
  6. :: sp = bch
  7. :: bp = bdh
  8. :: si = beh
  9. :: di = bfh
  10. set dq="
  11. set excla=!
  12. goto :length
  13. :main
  14. echo e 0100 b8 00 13 bb %1 00 b9 %hex% ba %y% %x% bd 16 01 cd >1.txt
  15. echo e 0110 10 b8 00 4c cd 21 >>1.txt
  16. (echo rcx & echo 16 & echo n temp & echo w & echo q) >>1.txt
  17. debug<1.txt>nul
  18. echo[!str!>>echoing
  19. copy /b temp+echoing writing.com >nul
  20. del 1.txt
  21. del TEMP
  22. del echoing
  23. del $
  24. writing
  25. del writing.com
  26. goto :eof
  27. :hexconvert
  28. set hexstring=0123456789abcdef
  29. set /a h3=(strlen^>^>12)^&15
  30. set /a h2=(strlen^>^>8)^&15
  31. set /a h1=(strlen^>^>4)^&15
  32. set /a h0=(strlen^>^>0)^&15
  33. set hex=!hexstring:~%h1%,1!!hexstring:~%h0%,1! !hexstring:~%h3%,1!!hexstring:~%h2%,1!
  34. set /a h3=(x^>^>4)^&15
  35. set /a h2=(x^>^>0)^&15
  36. set /a h1=(y^>^>4)^&15
  37. set /a h0=(y^>^>0)^&15
  38. set x=!hexstring:~%h1%,1!!hexstring:~%h0%,1!
  39. set y=!hexstring:~%h3%,1!!hexstring:~%h2%,1!
  40. goto main
  41. :length
  42. set x=%2
  43. set y=%3
  44. set str=%4
  45. setlocal enabledelayedexpansion
  46. if not "!str:~0,1!" == "!dq!" goto returning
  47. set str=!str:""=^"! & rem 反向转义
  48. set str=!str:~1,-2! & rem 删除引号
  49. :returning
  50. echo[!str!>$
  51. for /f %%@ in ("$") do set/a strlen=%%~z@-2
  52. goto hexconvert
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2