2010-06-01 38 views
61

Tôi có một tệp lô mà tôi muốn cải thiện. Thay vì yêu cầu người dùng cung cấp đường dẫn thư mục mà không có dấu gạch chéo, có cách nào dễ dàng để tôi chỉ xóa ký tự cuối cùng khỏi đường dẫn nếu có dấu gạch chéo ở cuối không?Xóa bỏ dấu gạch chéo từ tệp nhập hàng loạt

: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 

Trả lời

108

bạn có thể sử dụng cú pháp tương tự như đánh giá của bạn:

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

Cảm ơn! Tôi chỉ chạy vào một vấn đề như vậy, và đây là câu trả lời hoàn hảo. – gregturn

+7

Bạn cũng có thể xem xét việc thêm '.' vào trường hợp dấu gạch chéo. Một lil 'ngắn hơn cú pháp chuỗi con. – Barett

+2

Nếu đường dẫn là "C: \ My Folder \" 'thì sao? – BaSsGaz

Các vấn đề liên quan