Войти

Показать полную графическую версию : [решено] Удаление лишних символов при использовании цикла FOR


Darth_Revan
25-01-2018, 10:54
Добрый день!

Написал скрипт, который возвращает SID нужного пользователя для использования его в дальнейших командах:

setlocal enabledelayedexpansion
echo on
for /f "skip=1 tokens=1 eol=" %%i in ('"wmic useraccount where name="USERNAME" get sid"') do (
set a1=%%i
echo !a1!
)

Скрипт работает, но цикл выводит SID в два этапа: сначала собственно SID, а потом пустым местом. В командной строке это выглядит следующим образом:

C:\WINDOWS\system32>for /F "skip=1 tokens=1 eol=" %i in ('"wmic useraccount where name="USERNAME" get sid"') do (
set a1=%i
echo !a1!
)

C:\WINDOWS\system32>(
set a1=S-1-5-21-2025209220-4099794118-3503065636-1001
echo !a1!
)
S-1-5-21-2025209220-4099794118-3503065636-1001

C:\WINDOWS\system32>(
t a1=
echo !a1!
)
Режим вывода команд на экран (ECHO) включен.

Как можно удалить этот пробел или пустую строку?

Elven
25-01-2018, 11:21
for /f "tokens=1 eol=" %%i in ('"wmic useraccount where name="USERNAME" get sid | findstr /i s-1-5-21"') do (
echo %%i
)

Darth_Revan
25-01-2018, 11:40
Спасибо!




© OSzone.net 2001-2012