. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#1 旧 2005-07-27, 16:04:12 默认 【原创】cmd脚本-16进制<=>10进制 互转脚本
hitme 当前离线  

在cmd下转进制,自己搞加减乘除? 喝多了头疼死,算了
偷了把鸡,利用ping和set帮忙运算了一把
hoho,什么都不会,就会投机,巨人肩膀上一站,技术在那里?

极限:
10->16:0xfffffffe
16->10:2147483647

用法: DxH 数字

例如:
DxH 1234567
DxH 0x1234fd3

代码:
@echo off

if "%1"=="" goto :syntax
if "%1"=="/?" goto :syntax

:H2D
set tmpx=%1
if "%tmpx:~0,2%"=="0x" (
			for /f "delims=" %%i in ('set /a %1') do (
								echo.
								echo %1 = %%i 
								goto :end
)
)

:D2H
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=2" %%i in ('ping %1 -n 1 -w 1 ^|find "Pinging"') do (
				for /f "tokens=1-4 delims=." %%a in ("%%i") do (
								set /a tmp1 = %%a / 16
								set /a tmp2 = %%a - 16 * !tmp1!
				
								set /a tmp3 = %%b / 16
								set /a tmp4 = %%b - 16 * !tmp3!

								set /a tmp5 = %%c / 16
								set /a tmp6 = %%c - 16 * !tmp5!

								set /a tmp7 = %%d / 16	
								set /a tmp8 = %%d - 16 * !tmp7!

								for /l %%a in (1,1,8) do (
											if !tmp%%a!==10 set tmp%%a=!tmp%%a:10=A!
											if !tmp%%a!==11 set tmp%%a=!tmp%%a:11=B!
											if !tmp%%a!==12 set tmp%%a=!tmp%%a:12=C!
											if !tmp%%a!==13 set tmp%%a=!tmp%%a:13=D!
											if !tmp%%a!==14 set tmp%%a=!tmp%%a:14=E!
											if !tmp%%a!==15 set tmp%%a=!tmp%%a:15=F!
								)
				)
			
				
			
)
echo.
echo %1 = 0x!tmp1!!tmp2!!tmp3!!tmp4!!tmp5!!tmp6!!tmp7!!tmp8!
endlocal

:end
goto:eof

:syntax
cls
echo.
echo.DxH.cmd 16进制^<=^>10进制 互转脚本. Written by hitme 2005.7.27
echo.
echo.用法:  DxH 数字
echo.
echo.例如:  DxH 1234567
echo.       DxH 0x1234fd3
上传的附件
文件类型: rar DxH.rar (626 字节, 18 次查看)

此帖于 2005-07-27 16:42:01 被 hitme 编辑. .
DosLover
 
DosLover 的头像
热心会员
 
资 料:
注册日期: Feb 2004
帖子: 18,088 声望值: 3
精华: 1,解答: 2
#2 旧 2005-07-27, 16:06:05 默认
DosLover 当前离线  

精王. :qqb025:
PS. 你的表情为什么没有显示出来?
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#3 旧 2005-07-27, 16:09:33 默认
hitme 当前离线  

引用:
作者: DosLover
精王. :qqb025:
PS. 你的表情为什么没有显示出来?
我也不知道,rpwt,可能
我去掉了,做人还是木呐点好
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 20:34:00.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号