Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Операции над переменными...в for (http://forum.oszone.net/showthread.php?t=310893)

nfs911 28-01-2016 14:26 2600057

Операции над переменными...в for
 
Всем доброго времени суток!
Чисто спортивный интерес.
Вот есть такая конструкция
Код:

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%%

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

Iska 28-01-2016 14:34 2600060

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

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

endlocal
exit /b 0


nfs911 28-01-2016 14:58 2600068

Iska, вопрос был поставлен конкретно)))
вот еще вариант без расширенной обработки (но не катит для цикла более 1 раза))) )
Код:

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

Я так понимаю, что производить операции над %%подобными перемененными нельзя т.к. они в рамках цикла...?

Iska 28-01-2016 15:07 2600075

Цитата:

Цитата nfs911
вот еще вариант без расширенной обработки »

Код:

@echo off

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

exit /b 0


nfs911 28-01-2016 15:19 2600080

Цитата:

Цитата nfs911
Я так понимаю, что производить операции над %%подобными перемененными нельзя т.к. они в рамках цикла...? »

После unix - возможности windows cmd из коробки просто ужасны)))

Iska 28-01-2016 15:26 2600082

Цитата:

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

Пользуйте PowerShell.


Время: 15:07.

Время: 15:07.
© OSzone.net 2001-