0
- 13.09.2017 - 11:07
|
Пишу в пакетнике винды: Определены переменные, имя которых состоит из буквы "а" и порядкового номера set a1=124 set a2=21 set a3=234 задан цикл от 1 до 3 который при каждой итерации вызывает подпрограмму m1 передавая ей значение порядкового номера повторения цикла for /L %%i in (1,1,3) do call :m1 %%i goto m2 что должна сделать подпрограмма: сформировать сетевой путь в котором последняя цифра соответствует переменной, заданной в начале, порядковый номер которой оканчивается на номер повторения цикла :m1 set ipw=a%1 set way=\\192.168.170.%ipw%\c$ echo %way% exit /b :m2 pause т.е. результатом хочу получить это: \\192.168.170.124\c$ \\192.168.170.21\c$ \\192.168.170.234\c$ а получаю это: \\192.168.170.a1\c$ \\192.168.170.a2\c$ \\192.168.170.a3\c$ Собсна подскажите, можно ли это реализовать? | |
1
- 16.09.2017 - 22:59
|
Волшебное слово называется EnableDelayedExpansion ===================================== setlocal EnableDelayedExpansion set a1=124 set a2=21 set a3=234 for /L %%i in (1,1,3) do call :m1 %%i goto m2 :m1 set way=\\192.168.170.!a%1!\c$ echo %way% exit /b :m2 pause ===================================== | |
2
- 16.09.2017 - 22:59
| Хорошая методичка тут https://en.wikibooks.org/wiki/Windows_Batch_Scripting | |
3
- 17.09.2017 - 00:49
| Хм. Действительно. Спс | |
4
- 18.09.2017 - 08:51
| Если удаляю папку командой rd, а такой папки нет, выдаётся сообщение: "Не удаётся найти указанный файл". Можно ли сделать чтобы сообщение не печаталось на экране? При перенаправлении результата в > nul сообщение всё равно выдаётся. | |
5
- 18.09.2017 - 15:03
|
4-Рюкзак > Нужно перенаправлять stderr: rd bla-bla 2>NUL | |
6
- 18.09.2017 - 15:55
| 5-IvUs > это не работает. я ж написал | |
7
- 18.09.2017 - 15:56
| 5-IvUs >сорян, 2 не заметил | |
| Интернет-форум Краснодарского края и Краснодара |