The meaning of the tilde in the input parameters of the batch command
Overview
When receiving input parameters for a batch command, the tilde symbol as in %1 and %~1 determines whether or not to remove double quotes " from the input1.
Code
For instance, let’s say there’s an RPEL.bat file written as follows.
@echo off
echo %1 > result.txt
echo %~1 >> result.txt
pause
When you execute it with the input parameter "space bar" which includes spaces, you obtain the following result.
PS C:\admin> .\REPL.bat "space bar"
계속하려면 아무 키나 누르십시오 . . .

The first echo recorded %1 as it is, while the second echo recorded only the string with removed double quotes.
Environment
- OS: Windows11
