| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > Работа со строками в bat-файлах |
| Автор: AgatA 14.5.2009, 17:09 | ||
Подскажите, пожалуйста, как вместо конкретных чисел (0 и 4) установить переменные среды?
|
| Автор: 01MDM 14.5.2009, 18:54 | ||||
AgatA,
|
| Автор: AgatA 16.5.2009, 12:23 |
| Ясно. Спасибо большое! |
| Автор: AlexeyC 12.10.2009, 18:13 | ||||||
Добрый день. Пожалуйста подскажите как в bat можно удалить последний символ переменной ? Например set var = string нужно другой переменной присвоить значение var без последнего символа (g). |
| Автор: 01MDM 12.10.2009, 20:00 | ||
Очень просто:
|
| Автор: AlexeyC 13.10.2009, 18:25 | ||||
Спасибо ! |
| Автор: AlexeyC 17.10.2009, 16:40 |
А почему оператор set не работает внутри циклов for ? Например: for %%i in (%string%) DO ( set var=%%i echo %var% ) Переменная var не получает значения %%i системы WinXp, Win2k3. |
| Автор: 01MDM 18.10.2009, 12:23 | ||||
| AlexeyC, Все работает, но нужно включить расширенную обработку комманд:
Или выносить тело цикла в наружу:
|
| Автор: AlexeyC 20.10.2009, 22:26 | ||
| 01MDM, Спасибо. Так действительно работает...но не совсем как мне надо. Если переменная string содержит пробелы (например set string="\\host\c$\home dir"), то значение string обрезается до первого пробела. Мне нужно реализовать внутри цикла разбор переменной string. например:
в результате переменная var должна последовательно принять значения \\host1\c$\home dir \\host2\c$\home dir и \\host3\c$\home dir |
| Автор: 01MDM 21.10.2009, 08:06 | ||||
| AlexeyC, Твоя переменная разбирается правильно:
На выходе:
Лучше обрисуй задачу целиком. |
| Автор: Vlad705 20.10.2014, 08:24 |
| Привет всем! подскажите, пожалуйста, в следующем вопросе. При работе со строками в файле, мне необходимо присвоить переменную в которой присутствуют символы "=" и при присвоении код работает некорректно. (например, set str5=add key="LocalEnterprise") Подскажите пожалуйста как можно решить следующую проблему? |