Aynı sonuçları almanın farklı yolları ThunderJun tarafından:
OP1: Burada gecikmiş tipte (! Var!) Özel değişkenlerin kullanımını aktif hale getirmek için setlocal kullanıyoruz. Aynı sonucu almak için.
OP2: Komutu ortak tip bir değişkene atarız ve düşey çubuk yardımıyla her zaman önce önceliğe sahip olan birkaç komutu birleştiririz. Filtreyi ekleriz: ilk çıkış satırını yoksaymayı belirtmek için daha fazla +1 ve sonra süzgeci ekleriz: findstr / i "remot" başka bir dikey çubukla Tırnak işaretleri ve büyük veya küçük harfler arasında ayrım yapmaz. Daha sonra, son 3 karakteri göstermemeyi gösteren genel bir tür değişkeni kullanıyoruz:% var: ~ 0, -3% Bu şekilde, for için bir başkasını kullanmadan aynı sonucu elde ederiz.
OP3: Burada, gecikmeli türdeki (! Var!) Özel değişkenlerin kullanımını etkinleştirmek için setlocal kullanıyoruz. Dikey bir çubukla, komutun sonunda for için. Bunun için şu komutu içeren bir filtre atarız: findstr / i "remot", yalnızca anahtar sözcükle satırları tırnak içinde yazdığını ve büyük ve küçük harfler arasında ayrım olmadığını belirtir. Komut çıktısını yakalamak için gecikmeli tipte özel bir değişken kullanıyoruz ve hiçbirinin yerine 2 karakteri boş bıraktık.
@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