1

バッチ ファイルを作成するアプリケーションに問題があります。問題は、出力バッチ ファイルが常に UTF-8 であり、バッチ ファイルでは機能しないことです。出力にはé、à、Äなどの分音記号が含まれているため、バッチファイルで何をしても失敗します。

したがって、私の質問:バッチファイルのコマンドで7ビット表現で7F(10進数の127)を超える文字を書き込む方法はありますか? たとえば、文字 240 の "\0xF0" などの 16 進文字列など。

もちろん、win 1252 エンコーディングを使用するには、バッチ ファイルを次のように開始します。

chcp 1252
4

1 に答える 1

3

明白なことを見た dbenham に感謝します。TAB を含むほぼすべての文字をバッチから生成する

でできますforfiles

@echo off
call :hex2Char 0x7f char_7F
call :hex2Char 0x80 char_80
echo %char_7F% %char_80%
exit /b

:hex2Char  hexString  rtnVar
  for /f delims^=^ eol^= %%A in (
    'forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo(%~1"'
  ) do set "%~2=%%A"
exit /b

しかし、これでも 0xF4 や 0xF5 などの一部の文字では失敗するようです。

于 2012-10-31T04:51:30.470 に答える