1 (изменено: Arigato, 2016-01-18 02:29:20)

Тема: CMD/BAT: удаление пробелов в конце строки

Кто придумает простой способ удалить пробелы в конце строки внутри переменной? Если точнее, то пробел может быть только один, либо его не будет вообще, если он есть, надо убрать. Только без IF.

2

Re: CMD/BAT: удаление пробелов в конце строки

Arigato пишет:

Только без IF.



cmd/v/c echo.!var!| >nul findstr/ec:" "&& set "var=%var:~,-1%"

3

Re: CMD/BAT: удаление пробелов в конце строки

Очень громоздко. Поясню, что мне надо. В переменной содержатся 3 числа через пробелы, мне надо эти числа перемножить, перемножаю так:

set s=5 3 2
set /a %s: =*%

То есть получаем 5*3*2

Все хорошо, но иногда после третьего числа встречается пробел, в этом случае получаем 5*3*2* и ответ: "Отсутствующий операнд."

Мне надо самым простым способом решить эту проблему. Возможно в конец выражения что-то дописать, что бы выражение оставалось синтаксически верным, но при этом был бы правильный результат перемножения трех чисел.

4

Re: CMD/BAT: удаление пробелов в конце строки

Без IF, но не без ветвления

set /a %s: =*% 2>nul||set /a %s: =*%1

5

Re: CMD/BAT: удаление пробелов в конце строки

set last=%s:~-1%
set /a %s: =*%%last%