2010-06-01 145 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