2010-06-01 143 views
61

我有一个批处理文件,我想改进。而不是要求用户提供文件夹路径没有结尾的斜杠,有没有一种简单的方法可以让我从路径中删除最后一个字符,如果最后有斜线?从批处理文件输入中删除拖尾斜杠

: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 

回答

108

你可以使用语法类似于你的评价:

::Does string have a trailing slash? if so remove it 
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1% 
+0

谢谢!我遇到了这样的问题,这是一个完美的答案。 – gregturn 2012-09-07 00:55:51

+7

你也可以考虑在尾部斜线处加上'.'。小于子字符串语法。 – Barett 2015-09-03 16:44:17

+2

如果路径是'“C:\ My Folder \”'会怎么样? – BaSsGaz 2017-09-13 12:00:37