Wie lassen sich farbige Anführungszeichen in dieser Batch-Funktion ausführen?

321
Mark Deven

Ich habe folgendes Skript mit einer farbigen Echo-Funktion:

@echo off setlocal EnableDelayedExpansion for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do ( set "DEL=%%a" ) ::call :c 0b "^!<>&| abc123 %%%%"*?" rem Prepare a file "X" with only one dot <nul > X set /p ".=."   call :c 0f " [DBName] ["Value=Data"] ["Value=Data"] " exit   :c set "param=^%~2" ! set "param=!param:"=\"!" findstr /p /A:%1 "." "!param!\..\X" nul <nul set /p ".=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%" if /i not "%3"=="/n" echo. exit /b 

Die Leitung call :c 0f " [DBName] ["Value=Data"] ["Value=Data"] "funktioniert nicht. Wie kann ich es zum Laufen bringen?

0
Keine Ahnung. Der Wert von "% 3" bricht jedoch, wenn / i nicht "% 3" == "/ n" echo.` ist DavidPostill vor 5 Jahren 0
Diese Zeile erweitert sich zu `if / i nicht" Data "] [" Value "==" / n "echo.`, von wo die ungültige Syntax stammt. Stelle dir das vor ... DavidPostill vor 5 Jahren 0
Es funktioniert gut für mich. Es wird als "" angezeigt, wenn% 3 nicht definiert ist Mark Deven vor 5 Jahren 0
Ja, aber "% 3" ist nicht undefiniert. Versuchen Sie, "echo% 3" in Ihre Subroutine einzufügen ... DavidPostill vor 5 Jahren 0
Wenn% 3 nicht definiert ist, hat es Anführungszeichen, so dass es gut funktioniert. So testen Sie dann mit If "% 3" == "" Echo undefined Mark Deven vor 5 Jahren 0
Fügen Sie das Echo „% 3“ hinzu, und das Echo ist nicht deaktiviert Mark Deven vor 5 Jahren 0

0 Antworten auf die Frage