バッチファイルで16進数のカラーコードを10進数のRGBコードに変換する

バッチファイル

for /f %%a in (C:\txt\cs.txt) do (
set moji=%%a
  set moji=!moji:~0,1!
  if !moji!  == # (

rem 16進数のカラーコードを引数から取得
set hexColor=%%a
rem 先頭の # を取り除く
set hexColor=!hexColor:#=!

rem 16進数カラーコードをR、G、Bの各部分に分解
set red=!hexColor:~0,2!
set green=!hexColor:~2,2!
set blue=!hexColor:~4,2!

rem 16進数を10進数に変換
for /f %%A in ('powershell "[convert]::ToInt32('!red!', 16)"') do set red=%%A
for /f %%A in ('powershell "[convert]::ToInt32('!green!', 16)"') do set green=%%A
for /f %%A in ('powershell "[convert]::ToInt32('!blue!', 16)"') do set blue=%%A

rem 結果を表示
echo Red: !red!
echo Green: !green!
echo Blue: !blue!


)
)

bat,PowerShell ,windows

Posted by eightban