Это вариант этого вопроса:
Удалить косую черту из ввода пакетного файла
но это немного отличается, так что я не думаю, что это обман.
У меня проблемы с выполнением этой работы с каталогами, в которых есть пробелы (работает WinXP).
: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 so remove it
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1%
echo %datapath%
Обрабатывает:
c:\
правильно (обрезка до c:)
Но если вы введете:
c:\test space
ошибка в том, что "пространство было неожиданным в это время."
Если вы попытаетесь ввести:
"c:\test space"
Вы получаете ту же ошибку.
Я думал, что это будет включать стратегически расположенных "или два в этой строке:
IF %datapath:~-1%==\ SET datapath=%datapath:~0,-1%
Но мне не повезло.
Есть идеи?