标题: [数值计算] 批处理怎样每运行一次递增1(16进制) [打印本页]
作者: nhlfy411 时间: 2008-7-5 10:04 标题: 批处理怎样每运行一次递增1(16进制)
求一个批处理(每运行一次递增1,需16进制)我见到有论坛人写过一个网克用的批处理 每运行一次递增1
现求怎么实现16进制递增批处理 前面是一个命令 后面带一个字符串
要求每运行一次 字符串 自动尾数递增1(16进制方式递增)
作者: nhlfy411 时间: 2008-7-5 10:49
一个批处理 每运行一次 自动把运行字符串用16进制方式加1
作者: youxi01 时间: 2008-7-5 12:21
不是很明白你的意思?
字符串 +1 ?什么字符串?
作者: 随风 时间: 2008-7-5 13:48
意思表达的确实太不清楚。
不知道是不是这个意思,每运行一次批处理就加一
注意:每次运行后请按 任意键退出,不要直接关闭批处理否则不会达到递增效果- ::00
- @echo off
- set /p a=<"%~0"
- set /a a=0x%a:~2%+1
- set aa=%a%
- set b=16
- set str=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
- :hex
- set/a m=a/b,n=a%%b
- call set n=%%str:~%n%,1%%
- set h=%n%%h%
- if %m% geq %b% set a=%m%&goto hex
- call set m=%%str:~%m%,1%%
- set var=::%m%%h%
- echo %var:~2%
- pause
- for /f "delims=" %%a in ('type "%~0"') do (
- if not defined flag (
- echo %var%>"%~0"
- set flag=a
- ) else echo %%a>>"%~0"
- )
复制代码
作者: nhlfy411 时间: 2008-7-5 18:26
嘿嘿 来点补充
我是需要在98的DOS下面做一个批处理
有一个6位的字符串 是16进制的 比如 1ad2c8
要求是执行批处理后 每按一次任意键 此字符串自动加一 即 1ad2c9 1ad2ca 。。1ad2cb 。。1ad2cd。。1ad2ce 。。1ad2cf。。。。1ad2d0 1ad2d1.。。。 这样递增 即16位方式递增
[ 本帖最后由 nhlfy411 于 2008-7-5 18:27 编辑 ]
作者: 随风 时间: 2008-7-5 19:55
唉!
为什么非要等别人辛苦写了个代码以后,你才肯具体说明你的意图呢?
你就不怕浪费别人的精力吗?
。。。。。。
98 下不知道,xp测试可以。。
:- @echo off&set b=16
- set str=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
- set a=1ad2c8
- :loop
- set /a a=0x%a%+1
- setlocal
- set aa=%a%
- :hex
- set/a m=a/b,n=a%%b
- call set n=%%str:~%n%,1%%
- set h=%n%%h%
- if %m% geq %b% set a=%m%&goto hex
- call set m=%%str:~%m%,1%%
- set a=%m%%h%
- echo %a%
- endlocal&set a=%a%
- pause&cls
- goto :loop
复制代码
作者: nhlfy411 时间: 2008-7-5 20:25
辛苦了,先说谢谢 呵呵
我见到很多人说10进制的 但是16进制确实少人提到,。。。这也是个榜样贴啦
我们自己也有写过一个比较复杂的 在xp下面用可以 在dos不可以的
但是如果我们用高版本的dos 后我们那个程序又无法执行,
明天我在dos测试下这个批处理
再次感谢
[ 本帖最后由 nhlfy411 于 2008-7-7 12:55 编辑 ]
作者: nhlfy411 时间: 2008-7-7 09:24
还是不行哦,在dos下面无法运行此批处理 郁闷ing。。。。。。。。。。
[ 本帖最后由 nhlfy411 于 2008-7-7 09:57 编辑 ]
作者: nhlfy411 时间: 2008-7-7 12:56
望高手指点,,,不过老dos 可能很少人有了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |