Ансикон против пакетного файла

874
Welton v3.58

Я пытаюсь сделать цветную командную строку в 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

Как я могу получить команды для правильного выполнения из командного файла?

2
Почему бы просто не использовать Powershell. Затем вы можете отформатировать подсказку в профиле. EBGreen 10 лет назад 0
Я предполагаю, что ansicon не удается подключиться к процессу cmd.exe для выполнения командного файла. `-p` Что происходит, когда вы запускаете` ansicon -p` в командной строке, а затем запускаете файл bat, содержащий команды `chcp` и` prompt`? [Документация ANSICON] (https://github.com/adoxa/ansicon/blob/master/readme.txt) David Ruhmann 10 лет назад 0
@EBGreen - я попробую. Welton v3.58 10 лет назад 0
@DavidRuhmann - только что попробовал ваше предложение, но я все еще получаю ту же ошибку. Welton v3.58 10 лет назад 0

2 ответа на вопрос

0
dbenham

Я никогда не использовал 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.58 10 лет назад 0
0
Welton v3.58

Мне не удалось заставить пакетный файл работать правильно, поэтому я принял предложение @ EBGreen и PowerShell. Я же должен выполнить команду Set-ExecutionPolicy RemoteSignedв PowerShell, чтобы получить мой профиль для запуска, однако.

Похожие вопросы