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

[数值计算] 批处理怎样在一个文本16进制字符转换成10进制字符?

http://www.bathome.net/viewthrea ... 26amp%3Btypeid%3D14
谢谢大家帮我解决了问题  但有个新问题出来  又开请教大家啦! 弄个批处理2个问题能一起解决那就最好

如题:我有个文本内容为:515253545556575859606162    批处理运行后为:333435363738393A3B3C3D3E

高手帮我写下代码,谢谢啦

没明白的你要求,请详细举例说明、
求老大赐我《精通正则表达式》

TOP

我给你个代码吧,你提问,问题都模糊不清,问的是十进制变成十六进制,a.txt中给的数据却是十六进制
这个代码是把十六进制变成十进制,十六进制是每两位一个划分,用|划分,表示的十进制用,划分
你保存成vbs的后缀,双击运行就可以查看了
  1. option explicit
  2. dim fso,m,n,i,a,b,c,stra,strb
  3. set fso=createobject("scripting.filesystemobject")
  4. set m=fso.opentextfile("a.txt",1)
  5. set c=fso.createtextfile("1.txt",2,1)
  6. while m.atendofstream <> true
  7.      n=m.readline
  8.      i=1
  9.      while i<len(n)
  10.      a=mid(n,i,2)
  11.      stra=stra&a&"|"
  12.      b="&H"&a
  13.      strb=strb&cint(b)&","
  14.      i=i+2
  15.      wend
  16.      c.writeline stra
  17.      c.writeline strb
  18.      stra=""
  19.      strb=""
  20. wend
  21. set fso=nothing
复制代码

TOP

是的  我就是想16进制数值 转换为10进制数值  谢谢楼上   我运行后出现错误

TOP

标题

本帖最后由 jiashadidai_110 于 2012-10-12 23:48 编辑

不是吧,我的机器上怎么没报错!!!我在win7上可以呀。。。还有,你有没有改代码之类的,如果要变成多个(这里如果变成四个就会出错)十六进制进行转换,就会报错的。。

TOP

输出文本时空白的

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (A.txt) do (
  3.     set str=%%i
  4.     set Ln=&set "Sn=!str!"
  5.     for %%j in (4096 2048 1024 512 256 128 64 32 16)do if "!Sn:~%%j!" NEQ "" set/aLn+=%%j&set Sn=!Sn:~%%j!
  6.     set Sn=!Sn!FEDCBA9876543210&set/aLn+=0x!Sn:~16,1!
  7.     for /l %%j in (0 2 !Ln!) do (
  8.         set /a "D=0x!str:~%%j,2!"
  9.         set var=!var!!D!
  10.     )
  11.     echo !var!&set "var="
  12. )
  13. pause
复制代码

TOP

怎么会出错了  我的都好使,你能告诉一下,你是怎么操作代码的吗?
是直接复制粘贴,还是有所修改
我又试了下,代码在win7和xp上都可以,并没报错

TOP

明白啦  是我问题内容问题  FF FF FF FF FF FF FF FF FF 4C 7D AF CE EC  。。。。。我文本有空格  谢谢  可以啦

TOP

返回列表