【发布时间】:2011-07-09 00:56:49
【问题描述】:
这是这个问题的一个变体: Remove Trailing Slash From Batch File Input
但它有细微的不同,所以我不认为这是一个骗局。
我在使用包含空格的目录(运行 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%
但我没有运气。
有什么想法吗?
【问题讨论】:
标签: batch-file