विधि 1: विलंबित विस्तार
एक तरीका जो आप चाहते हैं वह है विलंबित विस्तार का उपयोग करना जो विशेष वर्णों को अकेला छोड़ देता है।
विलंबित विस्तार के कारण पार्स समय के बजाय निष्पादन समय में एक बैच फ़ाइल के भीतर चर का विस्तार होगा, यह विकल्प SETLOCAL EnableDelayedExpansion कमांड के साथ चालू होता है।
:top
Echo Enter Message
set /p msg=">"
if "%msg%"=="C" goto cancel
setlocal EnableDelayedExpansion
echo !msg! >> File.txt
endlocal
goto top
:cancel
जैसा कि आप देख सकते हैं, आपको !msg!
इसके बजाय उपयोग करने की आवश्यकता होगी %msg%
।
विधि 2: उद्धरण
वैरिएबल के आसपास कोट्स को रखने से विशेष वर्ण भी अकेले निकल जाते हैं, साथ ही उन उद्धरणों के प्रभाव से आपके आउटपुट में भी पास हो जाते हैं।
:top
Echo Enter Message
set /p msg=">"
if "%msg%"=="C" goto cancel
echo "%msg%" >> File.txt
goto top
:cancel