Ansicon vs. Batch-Datei

965
Welton v3.58

Ich versuche, eine farbige Eingabeaufforderung in Windows 7 zu erstellen.

Mit ansicon habe ich erfolgreich die Eingabeaufforderung erstellt. Wenn ich jedoch die Befehle in eine Batchdatei stecke, erhalte ich eine Fehlermeldung.

Dies sind die Befehle, die ich benutze:

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

Unten sehen Sie ein Bild, das den Inhalt und die Ausführung der Stapeldatei sowie den Fehler zeigt, der bei der Ausführung des promptBefehls in der Stapeldatei auftritt . Es zeigt auch die manuelle Ausführung der Befehle und die resultierende Eingabeaufforderung.

Ansicon-Stapelfehler

Wie kann ich die Befehle aus einer Batchdatei ordnungsgemäß ausführen lassen?

2
Warum nicht einfach Powershell verwenden? Dann können Sie die Aufforderung beliebig im Profil formatieren. EBGreen vor 10 Jahren 0
My guess is that ansicon is failing to hook into the cmd.exe process for the batch file execution. `-p` What happens when you run `ansicon -p` on the command line and then run the bat file containing the `chcp` and `prompt` commands? [ANSICON Documentation](https://github.com/adoxa/ansicon/blob/master/readme.txt) David Ruhmann vor 10 Jahren 0
@ EBGreen - Ich werde es versuchen. Welton v3.58 vor 10 Jahren 0
@ DavidRuhmann - Ich habe gerade Ihren Vorschlag ausprobiert, aber ich bekomme immer noch den gleichen Fehler. Welton v3.58 vor 10 Jahren 0

2 Antworten auf die Frage

0
dbenham

Ich habe ansicon noch nie verwendet und weiß nicht, warum Ihr Batch-Skript ein anderes Verhalten als die Befehlszeile gibt.

Aber probieren Sie es in Ihrem Batch-Skript:

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 
Ich erhalte immer noch den gleichen Fehler. Welton v3.58 vor 10 Jahren 0
0
Welton v3.58

Ich konnte die Batch-Datei nicht ordnungsgemäß ausführen, also nahm ich den Vorschlag von @ EBGreen an und verwendete PowerShell. Ich musste jedoch den Befehl Set-ExecutionPolicy RemoteSignedin PowerShell ausführen, damit mein Profil ausgeführt werden konnte.