从批处理文件输入中删除尾部斜杠
Posted
技术标签:
【中文标题】从批处理文件输入中删除尾部斜杠【英文标题】:Remove Trailing Slash From Batch File Input 【发布时间】:2011-02-26 12:00:53 【问题描述】:我有一个想要改进的批处理文件。如果末尾有斜杠,我是否可以简单地从路径中删除最后一个字符,而不是要求用户提供不带斜杠的文件夹路径?
: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 %datapath:~-1%==\ GOTO:START
【问题讨论】:
【参考方案1】:您可以使用与您的评估类似的语法:
::Does string have a trailing slash? if so remove it
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1%
【讨论】:
谢谢!我刚刚遇到这样的问题,这是完美的答案。 您也可以考虑在尾部斜杠的情况下添加.
。比子字符串语法短一个 lil'。
如果路径是"C:\My Folder\"
怎么办?
反之,如果你想确保最后有一个反斜杠,那就是:IF NOT "%datapath:~-1%"=="\" SET "datapath=%datapath%\"
强制它。引号保护内部空间。
如果路径中有空格,那么您需要小心使用引号。如果%datapath%
包含前导引号和尾随引号,那么您可以使用IF "%datapath:~-2,-1%"=="\" SET datapath="%datapath:~1,-2%"
以上是关于从批处理文件输入中删除尾部斜杠的主要内容,如果未能解决你的问题,请参考以下文章
htaccess:从以.xml / only结尾的URL中删除尾部斜杠