标题: [文本处理] [已解决]批处理如何将RGB颜色的十进制转换为十六进制值? [打印本页]
作者: chromatin2 时间: 2015-4-6 16:33 标题: [已解决]批处理如何将RGB颜色的十进制转换为十六进制值?
本帖最后由 chromatin2 于 2015-4-6 20:32 编辑
现有抓取的RGB的十进制值。
如何转变为十六进制的值?BAT里面用的。
作者: bailong360 时间: 2015-4-6 17:33
本帖最后由 bailong360 于 2015-4-6 17:46 编辑
- @Echo Off
- Call :10x16 Var=123456789
- Set /A Var2=%Var%
- Echo 123456789=^>%Var%=^>%Var2%
- Pause&Exit
-
- :10x16
- @Echo Off&SetLocal EnableDelayedExpansion&Set Num=%~2&Set Str=0123456789abcdef
- For /L %%i In (1 1 8) Do (If !Num! neq 0 (
- Set /A Mod=Num%%16,Num/=16&For %%j In (!Mod!) Do Set Out=!Str:~%%j,1!!Out!))
- EndLocal&Set %~1=0x%Out%&Goto :Eof
复制代码
作者: cobat 时间: 2015-4-6 18:12
RGB是0-255吧,这么写好了.- @echo off&setlocal enabledelayedexpansion
- set "$=0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f"
- set n=-1&for %%a in (%$%) do for %%b in (%$%) do set/a n+=1&set #!n!=0x%%a%%b
- for /l %%a in (0,1,255) do echo %%a=!#%%a!
- pause
复制代码
作者: pcl_test 时间: 2015-4-6 18:30
- '&cls&@echo off&cscript -nologo -e:vbscript %~fs0 & pause &exit /b
- num=16
- WScript.echo num & "(Dec) => "& Hex(num) & "(Hex)"
复制代码
作者: pcl_test 时间: 2015-4-6 18:36
powershell- [Convert]::ToString(16,16)
复制代码
作者: pcl_test 时间: 2015-4-6 18:46
- @if (0)==(0) echo off
- cscript -nologo -e:jscript %~s0
- pause & exit
- @end
- var a = 16
- WScript.Echo(a.toString(16))
复制代码
作者: chromatin2 时间: 2015-4-6 20:33
谢谢大家的思路。
作者: CrLf 时间: 2015-4-6 21:36
分享一下这个比较少见的技巧,来自几位cn-dos的前辈:- @echo off
- cmd /c exit /b 123456789
- echo %=exitcode%
- pause
复制代码
用 set " 还可以看到 =ExitCodeAscii、=C:、=D:、=X: 等特殊的隐藏变量
只有 31<errorlevel<127 时,才会出现 =ExitCodeAscii
作者: chromatin2 时间: 2015-4-6 21:53
回复 8# CrLf
...这也行,,太厉害了,看不懂。
作者: bailong360 时间: 2015-4-6 22:01
回复 8# CrLf
%=ExitCode%前几天倒是在论坛一个讨论输出ASCII字符的帖子里看到过,只是没想到可以用在这里,思路果然重要
顺便还有下面几个变量,Set也不知道怎么才能显示出来,第一个倒是很有用
%__APPDIR__%
%__CD__%
%FIRMWARE_TYPE%
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |