找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20525|回复: 2

[文本处理] [20170624更新]ANSI字符打印工具-PrintANSI

[复制链接]
发表于 2017-6-10 00:05:30 | 显示全部楼层 |阅读模式
http://bcn.bathome.net/s/tool/index.html?key=PrintANSI
自己写的小工具,源码就不放了
想要研究的可以联系我

2017.6.24使用Net2.0重新编译
增强了兼容性。
正常情况无需多余运行库,
自带的NET即可运行

.Net程序有个特点
开机第一次运行速度较慢(中间码编译为汇编)
第二次运行速度正常
但是调用仍然慢的可以
所以请尽量少调用,将参数拉长,使得一次调用程序可以打印较多的字符来提高效率(下面的Ascii表是反例,真的很慢...)
由于CMD限制,控制字符和可显示字符可以正常重定向(1-7eh和80h)
超过80h的就无法正常重定向
所以想要生成高位Hex大于80的字符也就是双字节字符(由最高二进制位为1的Byte型高位和下一个Byte共同组成,比如汉字),请将双字节字符的ANSIHEX直接以四位一组的形式传参

老刘制作——ANSI/Ascii字符屏幕打印工具
用法:  PrintANSI <ANSI-Hex> ...
示例:
打印”Hollo,world!“
PrintANSI 48 6F 6C 6C 6F 2C 77 6F 72 6C 64 21
打印“你好,世界”
PrintANSI C4E3 BAC3 A3AC CAC0 BDE7
打印控制字符
PrintANSI 1 2 3 4
蜂鸣
PrintANSI 7

实例:
批处理版Ascii表——

  1. @Echo off&Title Ascii码表
  2. For %%a in (PrintANSI.exe) Do ^
  3. If "%%~$PATH:a" EQU "" ^
  4. If Not Exist .\PrintANSI.exe ^
  5. Echo 第三方丢失,请到批处理之家第三方区下载。&&pause&&goto :eof
  6. mode 30,100
  7. %在此感谢netbenton斑竹的10进制转16进制函数% set "d-h=setlocal enabledelayedexpansion&set/a dx=#a#&set xs=0123456789abcdef&(for /l %%z in (1,1,4) do set /a x%%z=dx%%16,dx=dx/16)&(for /f "tokens=1-4" %%1 in ("!x1! !x2! !x3! !x4!") do set hx=!xs:~%%4,1!!xs:~%%3,1!&(if !hx!==00 set hx=)&(for %%z in ("!hx!!xs:~%%2,1!!xs:~%%1,1!") do endlocal&set #a#=%%~z))"
  8. Echo 字符        16进制        10进制
  9. Echo [空格]        20        32
  10. Set /a 初始=0x20,步长=1,终止=0x7e,循环计数变量=初始
  11. :loop
  12.         Set /a 循环计数变量+=步长
  13.         Set /a 十六进制=十进制=%循环计数变量%
  14.         %d-h:#a#=十六进制%
  15.         PrintANSI %十六进制%
  16.         Echo         %十六进制%        %十进制%
  17. IF %循环计数变量% LSS %终止% GOTO LOOP
  18. Echo [退格]        7f        127
  19. Pause
复制代码
发表于 2017-9-3 19:39:32 | 显示全部楼层
回复 1# 老刘1号
附件出错,你替换下吧。
 楼主| 发表于 2017-9-4 20:50:28 | 显示全部楼层
回复 2# hlzj88


    这里测试没有问题。
你用的是什么压缩软件呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:45 , Processed in 0.018975 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表