标题: [文本处理] [已更新]16进制文件查看器Hex(FC版) [打印本页]
作者: plp626 时间: 2011-6-5 12:14 标题: [已更新]16进制文件查看器Hex(FC版)
本帖最后由 plp626 于 2012-3-27 08:37 编辑
- @echo off
-
- :: 显示文件的ASCII码信息hex.cmd(16进制文件查看器)
- :: # Code by plp | V1.1 #
- :: %1 --- <文件名或者字符串> 当前路径下没有找到%1文件,则视%1为字符串;
- :: 字符串推荐带上双引号
- :: %2 --- [每行显示个数] //缺省时为16
- :: 依赖系统自带的外部命令: FC.exe
- :: 程序运行期间会生成临时文件:"$}.tmp"(结束后自动删除)
-
- setlocal enabledelayedexpansion
- if not exist "%~1" (
- set/p=%1<nul>%tmp%\$f.tmp
- call %0 "%tmp%\$f.tmp" %2&goto:eof
- )
-
- if %2.==. (Set line=16)else set/a line=%2||exit/b2
- Set/a sz=%~z1,s=sz%%1000,z=(sz-s)/1000
- Set @=`&for /l %%a in (1 1 10)do Set @=!@!!@!
- (Set @=!@:~-1000!&set/p=!@:~-%s%!<nul
- for /l %%a in (1 1 !z!)do set/p=!@!<nul)>$}.tmp
-
- set "fun=set/p=60 <nul&set/a n+=1&if ^!n^!==%line% echo.&Set n=0"
- Set/a tp=-1,n=p=0&for /f "skip=1 tokens=1-4 delims=: " %%a in (
- '"fc/b %~s1 $}.tmp&del $}.tmp"'
- )do (
- if %%a neq FC (
- set/a m=0x%%a-tp-1
- for /l %%z in (1 1 !m!)do %fun%
- Set tp=0x%%a&set/p=%%b <nul&set/a n+=1
- if !n!==%line% echo.&Set n=0
- )else set tp=-1&for /l %%a in (1 1 %~z1)do %fun%
- )
-
- if !tp! geq 0 (
- set/a m=%~z1-tp-1
- for /l %%a in (1 1 !m!)do %fun%
- )
复制代码
- @echo off
-
- :: 显示文件ascii信息,并显示所有字符;hhex.cmd
- :: hhex.cmd 是hex.cmd 的扩展版,增加特殊字符显示功能;
- :: %1 --- <文件名或者字符串> 当前路径下没有找到%1文件,则视%1为字符串;
- :: 字符串推荐带上双引号
- :: hhex.cmd 调用 hex.cmd 获取文件或字符串的16进制数据信息;
- :: 调用 ascmap.cmd 获得ascii索引
- :: 下载地址:http://www.bathome.net/thread-12347-1-1.html
- :: 版本 1.0; code by plp;2012-3-26
-
- setlocal enabledelayedexpansion
- call ascmap.cmd /437 $
- for /f "delims=" %%a in ('hex.cmd "%~1" 16')do (
- set s=%%a
- set s=!s:~0,-1!
- set "ss=!s:~0,23!-!s:~24! "
- set s=!ss:~0,48! #$:~0x!s: =,1##$:~0x!,1#
- call:econ
- )
-
- if "%~0"=="%~f0" set/p=
- goto:eof
- :econ
- (echo;|echo off)>con 2>nul&echo %s:#=!%
- echo
复制代码
作者: CrLf 时间: 2011-6-5 12:31
哈哈,以前翻看系统帮助是也这么想过,不过当时没有足够的技术去做,后来就忘了
作者: plp626 时间: 2012-3-27 17:12
黑屏下的截图:
[attach]5072[/attach]
作者: 飏有泪 时间: 2013-8-1 16:10
...发现个错误,在hhex.cmd调用其他cmd文件前少了个复制代码
加上这个才能在hhex.cmd根目录下找到其他cmd并调用
我这是Win8的系统!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |