Разные способы получить одинаковые результаты
OP1: Здесь мы используем setlocal, чтобы активировать использование специальных переменных с задержанным типом (! Var!) Без использования for внутри другого for. Чтобы получить тот же результат.
OP2: Здесь мы назначаем команду в переменной общего типа и с помощью вертикальной черты объединяем несколько команд, всегда с приоритетом. Мы добавляем фильтр: еще +1, чтобы указать, чтобы игнорировать первую выходную строку, а затем добавляем фильтр: findstr / i «remot» с другой вертикальной чертой, с этим мы указываем, что печатаются только те строки, которые содержат ключевое слово в кавычки и что не делает различий между заглавными и строчными буквами. Затем мы используем переменную типа common, указывающую на нее, чтобы не показывать последние 3 символа:% var: ~ 0, -3% Таким образом, мы получаем тот же результат, не используя for внутри другого for.
OP3: Здесь мы используем setlocal, чтобы активировать использование специальных переменных замедленного типа (! Var!). С вертикальной чертой, в конце команды внутри для. Для этого мы назначаем фильтр с помощью команды: findstr / i «remot», указывающей, что он печатает только строки с ключевым словом в кавычках и который не различает прописные и строчные буквы. Мы используем специальную переменную отложенного типа, чтобы захватить вывод команды, и мы указываем заменить 2 символа пробелов даром (! Var: =!), Чтобы достичь того же результата, не используя for для другого.
@echo off
:::::::::::::OP1 START. BY ThunderJun
setlocal enabledelayedexpansion
set remotegroup=
for /f "skip=1 delims=" %%a in ('"wmic group where sid="S-1-5-32-555" get name"') do (
set remotegroup=%%a!remotegroup:~0,-4!
set rio=!remotegroup:~0,-1!
set remotegroup=!rio:~0,-1!
)
echo OP1 "%remotegroup%"
:::::::::::::OP1 END
:::::::::::::OP2 START. BY ThunderJun
set a='"wmic group where sid="S-1-5-32-555" get name |more +1 |findstr /i "remot""'
for /f "delims=" %%c in (%a%) do (set remotegroup=%%c)
echo OP2 "%remotegroup:~0,-3%"
:::::::::::::OP2 END
:::::::::::::OP3 START. BY ThunderJun
setlocal enabledelayedexpansion
set remotegroup=
for /f "delims=" %%a in ('"wmic group where sid="S-1-5-32-555" get name |findstr "remot""') do (
set remotegroup=%%~na& set remotegroup=!remotegroup: =!)
echo OP3 "%remotegroup%"
:::::::::::::OP4 END
pause