web-dev-qa-db-fra.com

Supprimer la barre oblique de fin de l'entrée du fichier de commandes

J'ai un fichier batch que je souhaite améliorer. Au lieu d'exiger qu'un utilisateur fournisse un chemin de dossier sans barre oblique de fin, y a-t-il un moyen simple pour moi de supprimer le dernier caractère du chemin s'il y a une barre oblique à la fin?

: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
71
Brook

vous pouvez utiliser une syntaxe similaire à votre évaluation:

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