2014-02-20 2 views
4

У меня есть строка результата, сохраненная в переменной RES, этот результат примерно 2.3/5.0 Я хотел бы получить деталь перед «/» и отправить ее на пакетный выход через команду ECHO. Я искал, как это сделать, используя командные команды, но получаю только результаты, чтобы подстрока фиксировалась, но как я могу узнать эту позицию? Если я бы знал позицию единственное, что я, вероятно, следует сделать это:Как получить позицию символа из строки в партии

ECHO %RES:~0,pos% 

Тогда вопрос: как я получаю эту позицию из строки? Благодаря

ответ

5

Если вы действительно хотите, чтобы позиционировать себя, вы можете применить функцию STRLEN из How do you get the string length in a batch file? в результате ниже, но если вы просто хотите этот префикс, вы можете просто сделать:

set "res=2.3/5.0" 
for /f "tokens=1 delims=/" %%i in ("%res%") do (set prefix=%%i) 
+2

'tokens = 1' является значением по умолчанию. Вы можете опустить это. – Stephan

+0

На самом деле это именно то, что я хотел. Большое спасибо!!! Вместо того, чтобы получить позицию, а затем вырезать, я могу получить все сразу. :) – yosbel

4

Почему ищет положение разделителя вместо того, чтобы просто использовать его?

for /f "delims=/" %%i in ("%RES%") do echo %%i 
+0

Спасибо за помощь, Это тоже было полезно. – yosbel

Смежные вопросы