2018年6月20日 星期三

[Batch] 取得字元的ASCII Number

在寫Batch script的時候,有時候會需要用到某些字元的 ASCII Number 來做判斷(ex: 判斷 英文字母的排序),但是cmd.exe並沒有提供這樣的服務,這時候可以應用一個非官方文件 所記載的動態變數 %=ExitCodeAscii% 來達成目的。

%=ExitCodeAscii% 的值為最後一個額外的cmd.exe所回傳的ExitCode的ASCII character。

Example: 找出 "A" 的ASCII Number
@echo off
setlocal EnableDelayedExpansion

set char=A
for /l %%a in (32,1,126) do (
   cmd /c exit %%a
   if "!=exitcodeAscii!" EQU "%char%" echo %%a
)

Output:
65

沒有留言:

張貼留言