Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Почему не работает получение части значения переменной в конструкции Echo.!Var:~0,1! (http://forum.oszone.net/showthread.php?t=257130)

Dragokas 26-03-2013 03:04 2118625

Почему не работает получение части значения переменной в конструкции Echo.!Var:~0,1!
 
Код:

@echo off
Setlocal EnableDelayedExpansion
 
Set Var=12345
Echo.!Var:~0,1!

Объясните, пожалуйста, что интерпретатору здесь не нравится.

Iska 26-03-2013 06:19 2118654

Точка после «echo».

Dragokas 28-03-2013 20:15 2120954

Дык, я знаю, что точка.

Вот так ведь работает:

Код:

Echo.!Var:~1!
и так:

Код:

Echo.%Var:~0,1%
Я думаю здесь проблема в запятой. Какая-то особенность синтаксиса.

Iska 28-03-2013 21:23 2121012

Diskretor, чтобы дать точный ответ — нужно иметь исходный код лексического анализатора интерпретатора команд. Я не знаю, есть ли в «утекшей» части исходных кодов Windows 2000 потребный, но если есть — можете попробовать посмотреть.

Dragokas 28-03-2013 21:35 2121022

Я также предположил. Просто хотел узнать мнение опытных людей и указать на проблему, с которой может столкнуться любой и долго ломать голову, почему не работает.

amel27 13-08-2013 09:22 2200654

Цитата:

Цитата Diskretor
Я думаю здесь проблема в запятой.»

Код:

@echo off
Setlocal EnableDelayedExpansion
 
Set Var=12345

Echo.!Var:~0^,1!
Echo(!Var:~0,1!

=)


Время: 09:31.

Время: 09:31.
© OSzone.net 2001-