【问题标题】: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

【问题讨论】:

    标签: batch-file substring


    【解决方案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%"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多