2010-06-01 14 views
61

Mam plik wsadowy, który chcę poprawić. Zamiast wymagać od użytkownika podania ścieżki folderu bez ukośnego ukośnika, czy istnieje prosty sposób, aby usunąć ostatni znak ze ścieżki, jeśli na końcu jest ukośnik?Usuwanie ukośnego ukośnika z pliku wsadowego

: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 

Odpowiedz

108

można użyć składni podobnej swoją ocenę:

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

Dzięki! Właśnie wpadłem na taki problem i była to idealna odpowiedź. – gregturn

+7

Możesz także rozważyć dodanie "." W przypadku końcowego ukośnika. Krótsza niż składnia podła. – Barett

+2

Co się stanie, jeśli ścieżka to "C: \ Mój folder \"? – BaSsGaz

Powiązane problemy