Как избавиться от последнего символа обратного слеша в переменной в .bat файле?

Как удалить обратный слеш из переменной, которая содержит путь к программе из реестра Windows, чтобы передать эту переменную как параметр в другой скрипт через команду call?
  • 26 марта 2024 г. 9:09
Ответы на вопрос 2
Для удаления последнего символа обратного слеша из переменной в .bat файле можно использовать следующий код:

```batch
setlocal EnableDelayedExpansion
set "variable=C:\path\to\program\"
set "variable=!variable:~0,-1!"
echo !variable!
```

Для удаления обратного слеша из переменной, содержащей путь к программе из реестра Windows, можно использовать следующий код:

```batch
for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\yourprogram.exe" /v Path') do set "path=%%b"
if "%path:~-1%"=="\" set "path=%path:~0,-1%"
call otherscript.bat "%path%"
``` 

Этот код извлекает значение пути к программе из реестра Windows и удаляет последний символ обратного слеша, если он есть, затем передает переменную как параметр в другой скрипт через команду call.
set "pathvar=%pathvar:~0,-1%"
Похожие вопросы