バッチ内の特殊文字

バッチ内の特殊文字

私は Windows 7 を使用していますが、このような特殊文字を使用してメニューや進行状況バーなどを作成したいと考えています。どうすればよいでしょうか?

ここに画像の説明を入力してください

答え1

重要なのは、UTF-8形式を使用する必要があるということです。見てみましょう:

ステップ 1] 「UTF 8」形式で新しい CMD スクリプトを作成します。(PsPad または Notepad++ エディターでこれを行うことができます)

ステップ 2] 最初の行に空白行を残します。UTF 8 ヘッダーがそこに保存されます。

ステップ 3] 以下のコードをコピーして貼り付けます。

@echo off
CHCP 65001
:: *****************************************************************************
:: * Author: Gustaaf von Pickartz.                                             *
:: * Date Created: 22nd July, 2012.                                            *
:: * ------------------------------------------------------------------------- *
:: * This program is provided as is and for fair use distribution.             *
:: * Give credit where credit is due to the author in your own script.         *
:: * ------------------------------------------------------------------------- *
:: *****************************************************************************
SETLOCAL ENABLEDELAYEDEXPANSION

:: Progress Bar
 SET PRG0=[░░░░░░░░░░]
 SET PRG1=[▓░░░░░░░░░]
 SET PRG2=[▓▓░░░░░░░░]
 SET PRG3=[▓▓▓░░░░░░░]
 SET PRG4=[▓▓▓▓░░░░░░]
 SET PRG5=[▓▓▓▓▓░░░░░]
 SET PRG6=[▓▓▓▓▓▓░░░░]
 SET PRG7=[▓▓▓▓▓▓▓░░░]
 SET PRG8=[▓▓▓▓▓▓▓▓░░]
 SET PRG9=[▓▓▓▓▓▓▓▓▓░]
SET PRG10=[▓▓▓▓▓▓▓▓▓▓]

:: Star
 SET STR1=/
 SET STR2=--
 SET STR3=\
 SET STR4=^|

:: Please note there are special ASCII insertions in the SET BKSPC= declaration below. 80x backspace characters are inserted. ASCII Value 08=[BS]
:: Be sure to verify they are still there when you cut and paste from the web with your text editor (Notepad++ or PsPad). Insert them if missing, otherwise this script will not work...
SET BKSPC=


:Begin_Main
echo.
echo.
Echo Simple Animated star.
FOR /L %%I IN (1,1,400) DO (
<NUL (SET/P Z= PROGRESS: │)
<NUL (SET/P Z=%BKSPC%)
<NUL (SET/P Z= PROGRESS: /)
<NUL (SET/P Z=%BKSPC%)
<NUL (SET/P Z= PROGRESS: ─)
<NUL (SET/P Z=%BKSPC%)
<NUL (SET/P Z= PROGRESS: \)
<NUL (SET/P Z=%BKSPC%)
)

echo.
echo.
Echo Simple Progress bar indicator
FOR /L %%I IN (0,1,10) DO (
IF %%I LEQ 9 (SET TIC=0%%I) ELSE (SET TIC=%%I)
<NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I!)
>NUL PING -n 2 localhost
<NUL (SET/P Z=%BKSPC%)
)

echo.
echo.
Echo Combined Progress bar and animated star...
FOR /L %%I IN (0,1,10) DO (
IF %%I LEQ 9 (SET TIC=0%%I) ELSE (SET TIC=%%I)
<NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I!)
<NUL (SET/P Z=%BKSPC%)
    FOR /L %%J IN (1,1,400) DO (
    <NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I! │)
    <NUL (SET/P Z=%BKSPC%)
    <NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I! /)
    <NUL (SET/P Z=%BKSPC%)
    <NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I! ─)
    <NUL (SET/P Z=%BKSPC%)
    <NUL (SET/P Z=[!TIC!/10] PROGRESS: !PRG%%I! \)
    <NUL (SET/P Z=%BKSPC%)
    )
<NUL (SET/P Z=%BKSPC%)
)

ステップ4] SET BKSPC=(に80個のバックスペースASCII文字を「挿入」することを忘れないでください)http://columbia.edu/kermit/ascii.html

ステップ 5] CMD コンソール フォントをラスターではなく True Type フォントに設定してください。

関連情報