2016-11-01 2 views
-5

в порядке, так что я попробовал этотпартия команду заменить, я запутался

set x=12 & 
set var=(x) 
set var=%var:(=^%% 
set var=%var:)=^%% 
echo %var% 

и я х %%

тогда я сделал это

setlocal enabledelayedexpansion 

set var=!var:(=%! 

set var=!var:)=%! 

echo %var% 

и я получаю! Вар знак равно

Оба метода не удались, поэтому мне нужна помощь.

+5

В чем вопрос? – SachaDee

+0

Помогите с чем? _Выполните свой вопрос! _ – techydesigner

+0

Извините, что не уточнил, я имел в виду, что я хочу, чтобы var равнялся% x%, например, конвертировал '(' и ')' в '%'. – Glitching247

ответ

1

Подумайте о следующем сценарии:

@ECHO OFF 
SETLOCAL EnableExtensions EnableDelayedExpansion 
echo(
set "_x=12" 
set "_var=(_x)" 
set "_var=!_var:(=%%!" 
set "_var=!_var:)=%%!" 
set _ 
echo(
    echo "  echo %%_var%%" %_var% 
call echo "call echo %%%%_var%%%%" %_var% 

и его выход:

==> D:\bat\SO\40369895.bat 

_var=%_x% 
_x=12 

"  echo %_var%" %_x% 
"call echo %_var%" 12 

==> 

Обратите внимание, что _ префикс в именах переменных (_x и _var вместо x и var) не является жизненно важным ...

Смежные вопросы