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

[数值计算] 批处理十进制转十六进制提示找不到操作数

这是帖子里大神写的,直接运行可以,但是我把“输入十进制数字:”弄成变量就不行了。。。。
原始如下:
  1. @echo off
  2. set f=0123456789ABCDEF
  3. set /p num=输入十进制数字:
  4. :a
  5. set /a mod = %num% %% 16
  6. set /a num /=16
  7. set en=%mod% %en%
  8. if not %num% lss 1 (goto a)
  9. for %%i in (%en%) do (call set/p=%%f:~%%i,1%%<nul)
  10. pause>nul
复制代码
改成:
  1. @echo on
  2. set /a a=0x%b%+1      ---》F203+1
  3. echo %a%   ===61956
  4. set f=0123456789ABCDEF
  5. set /p num=%a%
  6. :a
  7. set /a mod = %num% %% 16
  8. set /a num /=16
  9. set en=%mod% %en%   ---这里会报错  提示 找不到操作数
  10. if not %num% lss 1 (goto a)
  11. for %%i in (%en%) do (call set/p=%%f:~%%i,1%%<nul)
  12. pause>nul
复制代码
还请大神指点,感激!~~~~~~

回复 2# Batcher

你好,我才入门学习,/P 去掉后确实能得到结果了,但是结果是按如下如显示的

怎么让其输出结果为F204呢,我想让其结果可设置为我下一个变量,+1前是F203,谢谢大神!
小Z

TOP

回复 4# Batcher


    windows10下运行无结果
没有换算出来的样子
小Z

TOP

回复 5# smtcao008
将感叹号改成%运行如下,我是小白  ! 用处不明白,所以尝试失败后更改运行的,见谅!
小Z

TOP

回复 7# Batcher
就是这个,我上传了,纯批处理的暂时没结果,还请指教,感谢!
小Z

TOP

回复 10# Batcher


    谢谢解答!学习到了,感谢!
小Z

TOP

返回列表