43

color コマンドは、Windows コマンド プロンプトの背景/テキストの色の変更に関係しています。

color 0A - 0 は背景色、A はテキストの色

1,2,3,4,5,6,7,8,9,A,B,C,D,E,F witch の配列を使用して、Windows バッチ スクリプトでこれらのテキストの色を 1 秒ごとに変更したいカラーコード。

0 = Black       8 = Gray
1 = Blue        9 = Light Blue
2 = Green       A = Light Green
3 = Aqua        B = Light Aqua
4 = Red         C = Light Red
5 = Purple      D = Light Purple
6 = Yellow      E = Light Yellow
7 = White       F = Bright White

コマンドは、このように毎秒行く必要があります

color 01
color 02
color 03
....
color 0E
color 0F

そして、これらのために私はいくつかの小さなスクリプトを見つけましたが、1秒ごとに色を変更するように機能させる方法がわかりません!

for /L %%i in (1,1,%n%) do echo !array[%%i]!

またはこれ

@echo off CLS
for /l %%a in (15,-1,1) do (
color 0A
cls
)
pause

またはこれ

SET COUNTDOWN=15
:COUNTDOWNLOOP
IF %COUNTDOWN%==0 GOTO END
color 0A && %R1%
CLS
SET /A COUNTDOWN -=1
GOTO COUNTDOWNLOOP
:END
4

10 に答える 10

36

これは法案に合うはずです。非常に面倒なことのように聞こえますが、それは次のとおりです。

@echo off
set NUM=0 1 2 3 4 5 6 7 8 9 A B C D E F
for %%x in (%NUM%) do ( 
    for %%y in (%NUM%) do (
        color %%x%%y
        timeout 1 >nul
    )
)
于 2012-09-26T20:59:42.393 に答える
4

このスクリプトを試してください。これにより、画面の任意の位置に任意のテキストを書き込むことができ、一時ファイルや「.com、.exe」実行可能ファイルを使用しません。windows\system または windows\system32 フォルダーに「debug.exe」実行可能ファイルがあることを確認してください。

http://pastebin.com/bzYhfLGc

@echo off
setlocal enabledelayedexpansion
set /a _er=0
set /a _n=0
set _ln=%~4
goto init


:howuse ---------------------------------------------------------------

    echo ------------------
    echo ECOL.BAT - ver 1.0
    echo ------------------
    echo Print colored text in batch script
    echo Written by BrendanLS - http://640kbworld.forum.st
    echo.
    echo Syntax:
    echo ECOL.BAT [COLOR] [X] [Y] "Insert your text"
    echo COLOR value must be a hexadecimal number
    echo.
    echo Example:
    echo ECOL.BAT F0 20 30 "The 640KB World Forum"
    echo.
    echo Enjoy ;^)
    goto quit

:error ----------------------------------------------------------------

    set /a "_er=_er | (%~1)"
    goto quit

:geth -----------------------------------------------------------------

        set return=
        set bts=%~1

:hshift ---------------------------------------------------------------

        set /a "nn = bts & 0xff"
        set return=!h%nn%!%return%
        set /a "bts = bts >> 0x8"
        if %bts% gtr 0 goto hshift
        goto quit

:init -----------------------------------------------------------------

    if "%~4"=="" call :error 0xff

    (
        set /a _cl=0x%1
        call :error !errorlevel!
        set _cl=%1
        call :error "0x!_cl! ^>^> 8"
        set /a _px=%2
        call :error !errorlevel!
        set /a _py=%3
        call :error !errorlevel!
    ) 2>nul 1>&2

    if !_er! neq 0 (
        echo.
        echo ERROR: value exception "!_er!" occurred.
        echo.
        goto howuse
    )

    set nsys=0123456789abcdef
    set /a _val=-1

        for /l %%a in (0,1,15) do (
                for /l %%b in (0,1,15) do (
                        set /a "_val += 1"
                        set byte=!nsys:~%%a,1!!nsys:~%%b,1!
                        set h!_val!=!byte!
                )
        )

    set /a cnb=0
    set /a cnl=0

:parse ----------------------------------------------------------------

    set _ch=!_ln:~%_n%,1!
    if "%_ch%"=="" goto perform

    set /a "cnb += 1"
    if %cnb% gtr 7 (
        set /a cnb=0
        set /a "cnl += 1"
    )

    set bln%cnl%=!bln%cnl%! "!_ch!" %_cl%
    set /a "_n += 1"
    goto parse

:perform --------------------------------------------------------------

    set /a "in = ((_py * 160) + (_px * 2)) & 0xffff"
    call :geth %in%
    set ntr=!return!
    set /a jmp=0xe


    @for /l %%x in (0,1,%cnl%) do (
        set bl8086%%x=eb800:!ntr! !bln%%x!
        set /a "in=!jmp! + 0x!ntr!"
        call :geth !in!
        set ntr=!return!
        set /a jmp=0x10
    )

    (
    echo.%bl80860%&echo.%bl80861%&echo.%bl80862%&echo.%bl80863%&echo.%bl80864%
    echo.q
    )|debug >nul 2>&1

:quit
于 2014-02-02T12:18:57.810 に答える
1

そのための簡単な方法を作成し、可能な限り簡単にしました。最後の「一時停止」は、コードを続行する場所です。 実行されたコードの画像

# [CODE]        [DESCRIPTION]
#
# echo. &       starts a new line
# echo.         skips a line
# PainText 08       08 is color code for gray   Type "color ?" for color codes
# " Red"        The space befor text gives space between the word befor it


@echo off
cls && color 08

for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (set "DEL=%%a")


<nul set /p=""
call :PainText 08 "Gray"
call :PainText 04 " Red"
call :PainText 02 " Green"
call :PainText 08 " Gray"
echo. &
call :PainText 02 "Line 2 Green No space"
echo. &
echo.
call :PainText 01 "H"
call :PainText 02 "E"
call :PainText 03 "L"
call :PainText 03 "L"
call :PainText 05 "O"
echo.


goto :end

:PainText
<nul set /p "=%DEL%" > "%~2"
findstr /v /a:%1 /R "+" "%~2" nul
del "%~2" > nul
goto :eof

:end
echo.

pause
于 2016-12-31T20:18:01.270 に答える
1

私は非常に似たようなことをしています。私はコーディングを始めたばかりなので、これは最も効率的な方法ではないかもしれませんが、これが私が行った方法です。

@ECHO OFF
ECHO HELLO
ping localhost -n 1 >nul
cls
color 01
ECHO HELLO
ping localhost -n 1 >nul
cls
color 02
ECHO HELLO 

などなど。

于 2014-05-14T13:09:02.970 に答える
-1
echo off & cls
title   never buy these they're so easy to make... hmu for source code             

    -%pinging:IP%-
color 0D

echo =================================================================
echo i flex on my unhittable ovh, you flex on an easy to hit trash ovh
echo =================================================================
set /p IP=Enter IP:
:top
title :: this skid's boutta get slammed FeelsGoodMan ::    -%pinging:IP%-
PING -n 1 %IP% | FIND "TTL="
IF ERRORLEVEL (echo stop flexing on ovh's i down them with ease, mine on the other hand is unhittable.):
set /a num=(%Random%%%9)+1
color %num%IP   ping -t 2 0 10 127.0.0.1 >nul
GoTo top

これは、ウェブサイトやサーバーなどの何かがダウンしている場合にカスタムのタイムアウト メッセージを表示する ip ping です。ユーザーをオフラインで起動する場合にも使用できます。入力に応じてファイルと個々のピンガーを開くツールを作成できます。組み込みの地理位置情報ツール。

于 2019-01-15T15:10:54.453 に答える
-1

カラフルなユーザー エクスペリエンスを実現するために、このスクリプトを使用して一連のコマンド全体を実行しました。お役に立てば幸いです。

@echo off
color 01
timeout /t 2
color 02
timeout /t 2
color 03
timeout /t 2
color 04
timeout /t 2
color 05
timeout /t 2
于 2020-06-07T19:46:04.543 に答える
-4

特定のコンピューターでは、コマンド ウィンドウのプロパティでカラー値を編集することにより、カラー コードを異なる RGB カラーに割り当てることができます。カラー パレットの色をクリックして、RGB 値を簡単に変更できます。

于 2013-12-05T11:43:04.760 に答える