[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
问题简单,被复杂化
先一个for /l %%a,步长为16,然后另一个变量每次都加1,当然你还要自己写,>=10的时候10、11等分别对应a、b等,然后hex.exe %%a %变量%0

TOP

@echo off
setlocal enabledelayedexpansion
set nt=-1
for /l %%a in (0,16,160) do (
set /a nt+=1
if !nt!==10 set nt=a
echo hex.exe targetfile %%a !nt!0
)
pause
把echo去掉就可以用了

TOP

哈哈,楼上要实现的效果很不错,用bat代替hex收集并处理参数再传递给hex中。。。
好想法,等我写会。。。

TOP

不能用逗号分隔,这样会看成多个参数。我写的用的是 - 分隔。
@echo off
setlocal enabledelayedexpansion
set file="%~1"
set start=%2
set step=%3
set "hexn=%4"
set "hexn=%hexn:-= %"
set /a ns=%start%-%step%
for %%a in (%hexn%) do (
set /a ns+=step
echo hex.exe %file% !ns! %%a
)
pause
把echo去掉就可以用了

TOP

捏哦,其实也不算难吧,C都会了,批处理看看教程就能写出来吧。。。

TOP

%~1意思是对%1进行拓展,%~1会把%1中的双引号去掉
去掉双引号有好处的,set file="%~1"中给去掉再加上,以免多重引号和无引号出错
类似的还有%~z1(文件大小)等等

TOP

返回列表