как в батниках подставлять значения в момент вычисления?

yolki


set magic=We're doing %color% magic here.
set color=black
echo %magic%
set color=white
echo %magic%

хочу увидеть:

We're doing black magic here.
We're doing white magic here.

В шелле прокатывает так:

#!/bin/sh

magic='We''re doing $color magic here.'

color=black
eval echo $magic
color=white
eval echo $magic

в батниках есть eval?

Serab

А где такое еще есть, кроме make?

yolki


@echo off
setlocal enabledelayedexpansion
set pattern=We're doing COLOR magic here.

set magic=!pattern:COLOR=black!
echo %magic%
set magic=!pattern:COLOR=white!
echo %magic%

endlocal

Serab

Ну это же другое совсем, ты изначально просил чтобы при каждом использовании magic происходила подстановка, а тут как бэ другое совсем, тут ты изменяешь сам magic.

yolki

мне нужен был результат. можешь предложить более изящное решение?
Оставить комментарий
Имя или ник:
Комментарий: