Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Операции над переменными...в for

Ответить
Настройки темы
CMD/BAT - Операции над переменными...в for

Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: nfs911
Дата: 28-01-2016
Всем доброго времени суток!
Чисто спортивный интерес.
Вот есть такая конструкция
Код: Выделить весь код
set test=ababab
echo %test:a=b%
получаем bbbbbb
но нигде не нашел как это делать в цикле for
Код: Выделить весь код
for /f "tokens=*" %%x in ('echo ababab') do (echo %%x:a=b)
пробовал %%x:a=b% и %%x:a=b%%

Может я что-то упустил...

Отправлено: 14:26, 28-01-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "tokens=*" %%x in (
	'echo ababab'
) do (
	set sVar=%%x
	echo !sVar:a=b!
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:34, 28-01-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Iska, вопрос был поставлен конкретно)))
вот еще вариант без расширенной обработки (но не катит для цикла более 1 раза))) )
Код: Выделить весь код
for /f "tokens=*" %%x in ('echo ababab') do (set test=%%x)
echo %test:a=b%
Я так понимаю, что производить операции над %%подобными перемененными нельзя т.к. они в рамках цикла...?

Отправлено: 14:58, 28-01-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата nfs911:
вот еще вариант без расширенной обработки »
Код: Выделить весь код
@echo off

for /f "tokens=*" %%x in (
	'echo ababab'
) do (
	set sVar=%%x
	call echo %%sVar:a=b%%
)

exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:07, 28-01-2016 | #4


Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата nfs911:
Я так понимаю, что производить операции над %%подобными перемененными нельзя т.к. они в рамках цикла...? »
После unix - возможности windows cmd из коробки просто ужасны)))

Отправлено: 15:19, 28-01-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата nfs911:
После unix - возможности windows cmd из коробки просто ужасны))) »
Пользуйте PowerShell.

Отправлено: 15:26, 28-01-2016 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Операции над переменными...в for

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Работа с переменными в цикле DarkDream604 Скриптовые языки администрирования Windows 5 03-03-2015 16:19
CMD/BAT - [решено] работа с переменными Anufriev Скриптовые языки администрирования Windows 8 04-07-2014 11:31
Любой язык - [решено] Старт bata с переменными. _Parkan_ Скриптовые языки администрирования Windows 2 11-01-2012 19:31
CMD/BAT - затруднения в работе с переменными cher Скриптовые языки администрирования Windows 3 23-06-2011 21:46
проблема с переменными окружения Vasosel Microsoft Windows NT/2000/2003 2 12-07-2006 14:21




 
Переход