PDA

Показать полную графическую версию : [решено] Почему не работает получение части значения переменной в конструкции Echo.!Var:~0,1!


Dragokas
26-03-2013, 03:04
@echo off
Setlocal EnableDelayedExpansion

Set Var=12345
Echo.!Var:~0,1!

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

Iska
26-03-2013, 06:19
Точка после «echo».

Dragokas
28-03-2013, 20:15
Дык, я знаю, что точка.

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

Echo.!Var:~1!

и так:

Echo.%Var:~0,1%

Я думаю здесь проблема в запятой. Какая-то особенность синтаксиса.

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

Dragokas
28-03-2013, 21:35
Я также предположил. Просто хотел узнать мнение опытных людей и указать на проблему, с которой может столкнуться любой и долго ломать голову, почему не работает.

amel27
13-08-2013, 09:22
Я думаю здесь проблема в запятой.»@echo off
Setlocal EnableDelayedExpansion

Set Var=12345

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




© OSzone.net 2001-2012