这是一个与此问题“从批处理文件输入中删除尾随斜杠”略有不同的变体,因此我认为它不是重复的。但我在使用具有空格的目录(运行WinXP)时遇到了麻烦。
错误信息为“在此处不应有空格。”如果您尝试输入以下内容:
你得到了相同的错误。
我认为这会涉及在这一行中放置一个或两个策略性的引号:
:START
@echo What folder do you want to process? (Provide a path without a closing backslash)
set /p datapath=
::Is string empty?
IF X%datapath% == X GOTO:START
::Does string have a trailing slash? if so remove it
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1%
echo %datapath%
它处理以下内容:
c:\
正确地(将其剥离为c:)
但是如果您输入:
c:\test space
错误信息为“在此处不应有空格。”如果您尝试输入以下内容:
"c:\test space"
你得到了相同的错误。
我认为这会涉及在这一行中放置一个或两个策略性的引号:
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1%
但是我没有什么运气。
有什么想法吗?