ไฟล์ Ansicon vs. Batch


2

ฉันพยายามทำให้พรอมต์คำสั่งเป็นสีใน Windows 7

เมื่อใช้ ansicon ฉันสามารถสร้างพรอมต์ได้สำเร็จ อย่างไรก็ตามเมื่อฉันใส่คำสั่งลงในไฟล์แบตช์ฉันได้รับข้อผิดพลาด

นี่คือคำสั่งที่ฉันใช้:

ansicon -p
chcp 65001
prompt $e[1;31m█$e[1;32m█$e[1;34m█$e[1;33m$_$d $t$_$e[1;37m$p$g

ด้านล่างนี้เป็นรูปภาพที่แสดงเนื้อหาและการดำเนินการของไฟล์แบตช์และข้อผิดพลาดที่เกิดขึ้นเมื่อดำเนินการpromptคำสั่งภายในไฟล์แบตช์ นอกจากนี้ยังแสดงการเรียกใช้งานคำสั่งด้วยตนเองและพร้อมรับคำสั่งที่เป็นผลลัพธ์

Ansicon ชุดล้มเหลว

ฉันจะรับคำสั่งให้ดำเนินการอย่างถูกต้องจากไฟล์แบตช์ได้อย่างไร


ทำไมไม่ใช้ Powershell จากนั้นคุณสามารถฟอร์แมตพรอมต์ได้ตามต้องการในโปรไฟล์
EBGreen

ฉันเดาว่า ansicon ล้มเหลวที่จะขอเข้าสู่กระบวนการ cmd.exe สำหรับการดำเนินการแบทช์ไฟล์ -p จะเกิดอะไรขึ้นเมื่อคุณรันansicon -pบนบรรทัดคำสั่งจากนั้นเรียกใช้ไฟล์ bat ที่มีคำสั่ง chcpและ เอกสาร ANSICONprompt
David Ruhmann

@EBGreen - ฉันจะลองดูนะ
Welton v3.59

@DavidRuhmann - ลองข้อเสนอแนะของคุณ แต่ฉันยังคงได้รับข้อผิดพลาดเดียวกัน
Welton v3.59

คำตอบ:


0

ฉันไม่เคยใช้ ansicon และฉันไม่รู้ว่าทำไมชุดสคริปต์ของคุณจึงมีพฤติกรรมที่แตกต่างจากบรรทัดคำสั่ง

แต่ลองดูในสคริปต์แบทช์ของคุณ:

ansicon -p
chcp 65001
for /f "delims=" %%A in ("$e[1;31m█$e[1;32m█$e[1;34m█$e[1;33m$_$d $t$_$e[1;37m$p$g") do prompt %%A

ฉันยังคงได้รับข้อผิดพลาดเดียวกัน
Welton v3.59

0

ฉันไม่สามารถทำให้ไฟล์แบตช์ทำงานได้อย่างถูกต้องดังนั้นฉันจึงได้รับคำแนะนำจาก @ EBGreen และใช้ PowerShell ผมไม่จำเป็นต้องเรียกใช้คำสั่งSet-ExecutionPolicy RemoteSignedใน PowerShell ที่จะได้รับรายละเอียดของฉันทำงานอย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.