![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] И вопросик по переменным |
|
|
CMD/BAT - [решено] И вопросик по переменным
|
Пользователь Сообщения: 70 |
Нужно организовать некий счетчик и использовать нумерацию в переменных - те нужно использовать переменную в имени переменной
жаль виндовый шелл не позволяет создавать массивы такой метод как VARCOUNT=0 set /A VARCOUNT=%VARCOUNT%+1 set VAR%VARCOUNT%=Text работает Те если явно указать переменную %VAR0%, %VAR1% то все ОК но мне надо что-то типа того - echo %VAR%VARCOUNT% это решаемо? |
|
Отправлено: 20:04, 26-07-2012 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:23, 26-07-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Посмотрел - не врубился (((
честно это не то что нужно то что переменным присвевается значение это понятно но как его вывести явно - а не просто set яж грю - это работает VARCOUNT=0 set /A VARCOUNT=%VARCOUNT%+1 set VAR%VARCOUNT%=Text echo %VAR1% выведет Text а как мне цифру в переменной задать другой переменной при выводе - с помощью echo например или опять же разбирать в цикле вывод set VAR ??? |
Последний раз редактировалось NoIZz, 26-07-2012 в 21:08. Отправлено: 20:51, 26-07-2012 | #3 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать @echo off &setlocal enableextensions set "phrase=Hello everyone! Hello! Helllooo!!1 Helllooooo!!!1 Hellloooooooo!!!!11" set /a word=0 call :loop "%phrase%" set /a word-=1 set word echo. echo word from 0 to %word% for /l %%i in (0,1,%word%) do ( call echo.%%word.%%i%% ) echo. echo word from %word% to 0 for /l %%i in (%word%,-1,0) do ( call echo.%%word.%%i%% ) echo. echo word from 0 to %word% by step 2 for /l %%i in (0,2,%word%) do ( call echo.%%word.%%i%% ) echo. echo word from %word% to 0 by step 3 for /l %%i in (%word%,-3,0) do ( call echo.%%word.%%i%% ) echo. goto :eof :loop for /f "tokens=1,*" %%a in ("%~1") do ( set "word.%word%=%%a" set /a word+=1 call :loop "%%b" ) goto :eof |
Отправлено: 21:34, 26-07-2012 | #4 |
Ветеран Сообщения: 1759
|
|
|
Отправлено: 22:20, 26-07-2012 | #5 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Спасибо! )))
Тупо не догадался бы использовать для вызова echo - call Видно доки плохо читал p.s. Очень отзывчивый народ на этоv форуме ))) p.s.2. просто из командной строки - %var%varcount%% |
Последний раз редактировалось NoIZz, 26-07-2012 в 23:27. Отправлено: 23:21, 26-07-2012 | #6 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать можно использовать отложенное раскрытие переменных
@echo off &setlocal enableextensions set "phrase=Hello everyone! Hello! Helllooo!!1 Helllooooo!!!1 Hellloooooooo!!!!11" set /a word=0 call :loop "%phrase%" set /a word-=1 set word echo. echo word from %word% to 0 for /l %%i in (%word%,-1,0) do ( setlocal enabledelayedexpansion echo.!word.%%i! endlocal ) echo. echo word from 0 to %word% by step 2 for /l %%i in (0,2,%word%) do ( setlocal enabledelayedexpansion echo.!word.%%i! endlocal ) echo. goto :eof :loop for /f "tokens=1,*" %%a in ("%~1") do ( set "word.%word%=%%a" set /a word+=1 call :loop "%%b" ) goto :eof |
Отправлено: 23:40, 26-07-2012 | #7 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Это понятно
Но кому как Над такой вещью до сих пор офигеваю :loop call :loop вызов подпрограммы из самой себя - жесть |
Отправлено: 23:57, 26-07-2012 | #8 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать да ладно
![]() |
Отправлено: 00:10, 27-07-2012 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата NoIZz:
|
|
Отправлено: 02:29, 27-07-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Объективы с переменным фокусным расстоянием в эквиваленте 35мм | lxa85 | Цифровое изображение | 5 | 20-03-2011 21:21 | |
CMD/BAT - [решено] Создание папки под переменным именем | monlogin | Скриптовые языки администрирования Windows | 4 | 07-11-2010 20:19 | |
Ликбез по переменным | Farxat | Хочу все знать | 0 | 05-12-2009 22:11 | |
Доступ - Полный доступ к системным переменным | vikemor3 | Microsoft Windows 2000/XP | 2 | 01-02-2007 18:02 | |
Фильм + звуковая дорожка с переменным битрейтом | ShaRP | Хочу все знать | 2 | 15-09-2004 11:18 |
|