标题: [数值计算] 批处理十进制转十六进制提示找不到操作数 [打印本页]
作者: smtcao008 时间: 2020-8-14 09:36 标题: 批处理十进制转十六进制提示找不到操作数
这是帖子里大神写的,直接运行可以,但是我把“输入十进制数字:”弄成变量就不行了。。。。
原始如下:- @echo off
- set f=0123456789ABCDEF
- set /p num=输入十进制数字:
- :a
- set /a mod = %num% %% 16
- set /a num /=16
- set en=%mod% %en%
- if not %num% lss 1 (goto a)
- for %%i in (%en%) do (call set/p=%%f:~%%i,1%%<nul)
- pause>nul
复制代码
改成:- @echo on
- set /a a=0x%b%+1 ---》F203+1
- echo %a% ===61956
- set f=0123456789ABCDEF
- set /p num=%a%
- :a
- set /a mod = %num% %% 16
- set /a num /=16
- set en=%mod% %en% ---这里会报错 提示 找不到操作数
- if not %num% lss 1 (goto a)
- for %%i in (%en%) do (call set/p=%%f:~%%i,1%%<nul)
- pause>nul
复制代码
还请大神指点,感激!~~~~~~
作者: Batcher 时间: 2020-8-14 10:01
回复 1# smtcao008
你的代码第5行 /p 删掉
作者: smtcao008 时间: 2020-8-14 12:49
回复 2# Batcher
你好,我才入门学习,/P 去掉后确实能得到结果了,但是结果是按如下如显示的
怎么让其输出结果为F204呢,我想让其结果可设置为我下一个变量,+1前是F203,谢谢大神!
作者: Batcher 时间: 2020-8-14 15:02
回复 3# smtcao008 - @echo off
- setlocal enabledelayedexpansion
- set "mac=F825A3BCF203"
- echo %mac%
- REM echo set a=%mac:~0,8% > a.bat -----取前8位
- REM echo set b=%mac:~-4% > b.bat -----取后四位 F203
- REM call b.bat
- set "b=%mac:~-4%"
- REM 备注 F203+1
- set /a c=0x%b%+1
- REM 备注结果 61956
- echo %c%
- set "f=0123456789ABCDEF"
- set "num=%c%"
-
- :a
- set /a mod=num%%16
- set /a num=num/16
- set "en=!mod! !en!"
- if not !num! lss 1 (
- goto :a
- )
- set NewMac=%mac:~0,8%
- for %%i in (!en!) do (
- set NewMac=!NewMac!!f:~%%i,1!
- )
- echo,!NewMac!
- pause
复制代码
作者: smtcao008 时间: 2020-8-14 15:13
回复 4# Batcher
windows10下运行无结果
没有换算出来的样子
作者: smtcao008 时间: 2020-8-14 15:18
回复 5# smtcao008
将感叹号改成%运行如下,我是小白 ! 用处不明白,所以尝试失败后更改运行的,见谅!
作者: Batcher 时间: 2020-8-14 15:45
回复 5# smtcao008
从这个截图来看,你执行的不是4楼的代码。请直接复制粘贴4楼代码不要做任何修改。如果还是不行,请把 bat 文件打包压缩传上来我试试。
作者: yhcfsr 时间: 2020-8-15 08:28
- @echo off
- set /p "num=输入十进制数:"
- powershell -NOLOGO (%num%).toString('X')
- pause>NUL
复制代码
作者: smtcao008 时间: 2020-8-15 12:38
回复 7# Batcher
就是这个,我上传了,纯批处理的暂时没结果,还请指教,感谢!
作者: Batcher 时间: 2020-8-17 08:51
回复 9# smtcao008
你上传的这个附件里有两个脚本:
222.bat
BOM.bat
首先,请尝试Q-04的方法处处理一下
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
其次,这些脚本跟4楼的代码不一样,为啥不直接试试4楼代码呢(不要做任何修改)?
作者: smtcao008 时间: 2020-8-17 09:17
回复 10# Batcher
谢谢解答!学习到了,感谢!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |