从批处理文件输入中删除尾部斜杠

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 删除尾部斜杠

htaccess:从以.xml / only结尾的URL中删除尾部斜杠

从每个参数中删除尾部斜杠的最简单方法是啥?

从查询字符串 Apache 中删除尾部斜杠

从 JAVA 中的字符串(从 url 类型更改)中删除尾部斜杠

从url中删除尾部斜杠