假设在批处理文件中,例如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:"