|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - двойное раскрытие |
|
|
CMD/BAT - двойное раскрытие
|
Старожил Сообщения: 207 |
В переменной VName содержится имя другой переменной окружения. Чтобы получить значение переменной, чье имя содержится в переменной VName, можно использовать такой синтаксис:
set VNAME=FARHOME & rem Но мы этого не знаем ... set VValue=!%VNAME%! Как быть, если последнюю строчку надо написать в цикле или внутри IF, где %VARNAME% раскроется всего один раз перед скобками. По идее нужно что-то типа такого set VValue=!!VNAME!! Но так не работает. Как быть? |
|
------- Отправлено: 21:51, 24-06-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:09, 24-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 207
|
Профиль | Отправить PM | Цитировать Цитата Iska:
upd: в данном примере все работает, просто & echo надо писать на новой строчке |
|
------- Последний раз редактировалось CyberMuesli, 24-06-2012 в 23:26. Отправлено: 22:29, 24-06-2012 | #3 |
Ветеран Сообщения: 1758
|
Цитата CyberMuesli:
|
|
Отправлено: 22:41, 24-06-2012 | #4 |
Старожил Сообщения: 207
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
в переменной VNAME хранится ИМЯ. В вашем примере оно не хранится, в VNAME сразу попадает нужное значение. Хотелось бы понять, почему не работает мой пример |
||
------- Отправлено: 22:50, 24-06-2012 | #5 |
Ветеран Сообщения: 1758
|
|
Отправлено: 23:14, 24-06-2012 | #6 |
Старожил Сообщения: 207
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
|
|
------- Отправлено: 23:16, 24-06-2012 | #7 |
Ветеран Сообщения: 1758
|
|
Отправлено: 23:32, 24-06-2012 | #8 |
Старожил Сообщения: 207
|
Профиль | Отправить PM | Цитировать Цитата Iska:
@echo off setlocal enabledelayedexpansion call :vtest MyArray goto :eof :vTest set %1.1=value1 set %1.2=value2 set %1.3=value3 set %1.Count=1 echo Ok: set VNAME=%1.!%1.Count! echo VNAME=!VNAME! set VNAME=!%VNAME%! echo VNAME=!VNAME! if defined %1.!%1.Count! ( echo does not working set VNAME=%1.!%1.Count! echo VNAME=!VNAME! set VNAME=!%VNAME%! echo VNAME=!VNAME! ) |
|
------- Отправлено: 23:33, 24-06-2012 | #9 |
Ветеран Сообщения: 1758
|
|
Отправлено: 23:54, 24-06-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Программное раскрытие DataGridViewComboBoxCell | Delirium | Программирование и базы данных | 1 | 28-02-2011 17:55 | |
двойное уменьшение частоты FSB | K@kTuS | Непонятные проблемы с Железом | 2 | 20-04-2010 06:31 | |
CMD/BAT - [решено] Раскрытие имени файла во вложеном For | dARKest | Скриптовые языки администрирования Windows | 7 | 17-07-2009 00:15 | |
Основы C++ | Раскрытие цикла while (s--) { ... }; | Skrip | Программирование и базы данных | 3 | 20-08-2005 20:35 | |
Двойное копирование файла с FTP. :( | BlackMonk | Хочу все знать | 3 | 13-02-2005 09:08 |
|