set / p с пробелами в значении переменной
Я хотел сделать основной текстовый редактор в пакетном режиме, и я использую set / p, чтобы получить пользовательский ввод и записать его в файл.
Когда я набираю что-то вроде «hello» или «hello», это работает нормально, но как только я пишу что-то с пробелом и другим символом после, как, например, «hello world», окно закрывается.
Мой код был:
set /p append=Write what you want to append:
Тогда я попробовал:
set /p "append=Write what you want to append: "
который я нашел в Интернете, но это не сработало.
Пауза не помогает, потому что программа вылетает, как только я нажимаю клавишу ввода.
Помогите!
Вот полный код:
:append
set /p "append=Write what you want to append: "
if %append%==return (
cls
goto start
)
echo %append% >> %filename%
goto append
:override
cls
echo Name: %filename%
set /p override="Write new content: "
echo %override% > %filename%
pause
cls
goto start
:writefile
echo.
set /p filename=Write file name.extension:
choice /c AO /m "Append to file or override? "
if %ERRORLEVEL%==1 (
cls
echo Name: %filename%
goto append
) else (
goto override
)