从传递给批处理文件的参数中删除一个字符

从传递给批处理文件的参数中删除一个字符

假设在批处理文件中,例如receive.bat,使用一些参数调用。现在执行receive.bat,它需要处理这些参数。

有时(但并非总是),参数会以斜杠结尾(例如"C:\a\b\")。参数的数量不固定,并且(唯一)这样的参数可能出现在参数列表的任何位置。

例如,我的.bat\文件如何删除以获取?\""C:\a\b"


更新:

我尝试了下面的示例,但第三个不起作用。
它只是说there should not be a SET here

SET var=C:\
IF %var:~-1%==\ SET var=%var:~0, -1%
@ECHO %var%

SET var2="C:\\
IF %var2:~-2%==\\ SET var2=%var2:~0, -2%
@ECHO %var2%

SET var3="C:\"
IF %var3:~-2%==\a" SET var3=%var3:~0, -2%
@ECHO %var3%

答案1

您正在将 var3 设置为“C:\”,并将最后两个字符与\A”? 请参阅下文这一页以获得批量子字符串提取的帮助。

SET var=C:\
IF %var:~-1%==\ SET var=%var:~0,-1%
@ECHO %var%
REM Output: C:

SET var2="C:\
IF %var2:~-1%==\ SET var2=%var2:~0,-1%
@ECHO %var2%
REM Output: "C:

SET var3="C:\"
IF %var3:~-2,1%==\ SET var3=%var3:~0,-2%"
@ECHO %var3%
REM Output: "C:"

相关内容