@echo off
setlocal enabledelayedexpansion
:BEGIN
echo cd "folder one" = navigates user to folder 1.
set "item1=cd "folder one""
set /p "input=Insert Word: "
if /i "!input!" == "!item1!" (goto 2) else goto BEGIN
:2
echo you did it^^!
timeout /t 05
exit /b
Задержка раскрытия переменных может помочь в этих случаях,
как предварительно расширенные переменные расширяются буквально в
Источник до исполнения. Задержка расширения хранит значение
в памяти и сравнивает значение непосредственно при исполнении.
Чтобы обеспечить правильное сравнение, обе стороны могут нуждаться в задержке
расширение, чтобы избежать специальных символов, таких как двойные кавычки.
Обе стороны могут не нуждаться во внешних двойных кавычках, поскольку это не
страдать от буквальных ошибок синтаксиса предварительно расширенного
переменные. Я решил добавить внешние двойные кавычки.
Возможно, вам придется отключить отложенное расширение, если вы используете
предварительно расширенные переменные во время расширения, которые могут содержать
восклицательные знаки и позволяют после этого времени расширяться
задержанные расширенные переменные.
Просмотр setlocal /?
об использовании enabledelayedexpansion
и disabledelayedexpansion
.