Mã này:Làm thế nào để °, ± & ² tạo ra ░, ▒ & ▓ trong tập tin batch này?
@echo off
set /p a=Installing [<nul
set b=1
:loop
if %b% leq 2 set /p a=°<nul
if %b% gtr 4 if %b% leq 6 set /p a=±<nul
if %b% gtr 6 if %b% leq 8 set /p a=²<nul
if %b% gtr 8 if %b% leq 10 set /p a=±<nul
if %b% gtr 10 set /p a=°<nul
choice /t 1 /c y /d y>nul
set /a b=%b%+1
if %b%==13 (echo ]&goto :eof)
goto :loop
... đến từ http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1237-DOS-ECHO-text-to-previous-line-by-Paul-Tomasi.html#c18182 và tạo đầu ra bên dưới trong một cửa sổ cmd:
Installing [░░▒▒▓▓▒▒░░]
Tuy nhiên, tôi không thể dường như để tìm một lời giải thích qua google như thế nào đây công trinh. Thay thế các ký tự ascii mở rộng khác vào vị trí của chúng dường như tạo ra "Cú pháp của lệnh không chính xác", vì vậy chỉ quản lý để đoán rằng đây là một hack trong đó một cái gì đó trao đổi các ký tự này với các ký tự thấp hơn trong tập ascii mở rộng. thủ thuật của nhà thiết kế.
Nếu có ai cũng có thể đề xuất một trang web tốt để tìm hiểu thêm về các tính năng của chương trình cmd/cmd như thế này, nó sẽ được đánh giá cao.
Có thể là do [phông chữ mà cmd đang sử dụng không?] (Http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using) – acattle
Không thực sự là câu trả lời, nhưng vẫn thú vị: thử chạy 'type' trên tập tin batch của bạn từ dòng lệnh, như trong' type mybatchfile.bat'. Trình soạn thảo văn bản của tôi hiển thị '±' và tất cả phần còn lại, nhưng lệnh 'type' hiển thị' ░' và phần còn lại. Đặt '░' vào tập tin thực thi' gõ 'thành' ª'. Trình soạn thảo dòng lệnh 'edit' cũng hiển thị các ký tự dòng lệnh, thay vì các ký tự Windows. Có lẽ một điều phông chữ, như liên kết của acattle gợi ý. – user1201210
@acattle - Tôi đã thử ba phông chữ có sẵn cho tôi trong cmd (phông chữ Raster, là một trong những kết quả trên được dựa trên; bây giờ cũng Consolas & Lucida Console); Consolas có một ký tự trống cho °, và cả hai nó và Lucida Console tạo ra lệnh là lỗi không chính xác cho lần thứ hai ± (bất thường). Cho nó là cmd và không phải là một trình xử lý văn bản (ví dụ) sẽ nghi ngờ sẽ có các ký tự khác nhau trong bộ ký tự cho mỗi phông chữ, chỉ cần nhìn khác nhau của cùng một ký tự tương ứng. – user66001