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
)

Ответы на вопрос(3)

Ваш ответ на вопрос