[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 CrLf 于 2013-7-16 20:46 编辑

一个方案是 ascode,比 debug 通用些:
  1. @echo off
  2. if "%1"=="" goto gethex
  3. if %1%2%3%4==52617221 echo 可能是 RAR 格式
  4. if %1%2%3==FFD8FF echo 可能是 JPG 格式文本
  5. if %1%2%3%4%5==4749463839 echo 可能是 GIF 格式文本
  6. if %1%2==FFFE echo 可能是 Unicode 格式文本
  7. :gethex  
  8. (for /f "delims=" %%a in ('findstr /ib "::gethex" "%~0"') do echo %%~na)>gethex.com
  9. (gethex.com; &echo;)<222.txt | cmd /vc "set /p str=&%0 !str!"
  10. ::gethex\RQPUWP]UZV_BBBB5``PY(E1(E5)E7)E<(E@)EI-
  11. ::gethex\SX3CP< ~v<P}k%ooQRY2AY0@ uP0EPGEB?_]XYZ
  12. ::gethex\020680008KN8740LKN82004M4MJL3L3K7402454N
  13. ::gethex\K40KLM213L007432K408LM213L0J74063L0M7402
  14. ::gethex\NK078JM0N82O00NKN38JM052K104M2NJN815005J
  15. ::gethex\N8110050K440KK01008KLM8KM6LM2158NKL6LM20
  16. ::gethex\80N20O80L23080OJ3J7L0380L207K402LM21L3
复制代码
另一个方案是 ado,用 "cscript /nologo gethex.vbs  要取得的文件  要取得的字节数" 可以取得头部几个字节的 hex,至于比较关键词什么的,就和上面的 bat 大同小异了,gethex.vbs 内容如下:
  1. Const length = 16  '输出时每段的字节数
  2. delim = vbCrLf  '连接连接每段的字符串
  3. Dim var()
  4. ReDim var(0)
  5. id = 0
  6. With CreateObject("ADODB.Stream")
  7. .Type = 1
  8. .Open
  9. .LoadFromFile WScript.Arguments(0)
  10. For i = 1 To WScript.Arguments(1)
  11. h = Hex(AscB(.Read(1)))
  12. If Len(h) = 1 Then h = 0 & h
  13. var(id) = var(id) & h & " "
  14. If (i Mod length) = 0 Then
  15. var(id) = var(id)
  16. id = id+1
  17. ReDim Preserve var(id)
  18. End If
  19. Next
  20. End With
  21. WScript.Echo Join(var,delim)
复制代码

TOP

本帖最后由 CrLf 于 2013-7-16 20:45 编辑

不想用 com 也不想用 vbs 的话,fc 也可以获得 hex,类似这个帖子:
http://www.bathome.net/viewthread.php?tid=12688
还有这个帖子也可以参考下:
http://www.bathome.net/viewthread.php?tid=15721

TOP

回复 6# wskwfkbdn


    试了下,EXeinfo 真不错,谢谢分享~

TOP

回复 8# Python


    好像没找到判断文件格式的功能,是在第三方插件里吗?

TOP

返回列表