Компьютерный форум 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=332769)

Darth_Revan 25-01-2018 10:54 2793672

Удаление лишних символов при использовании цикла FOR
 
Добрый день!

Написал скрипт, который возвращает 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 2793683

Код:

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 2793687

Спасибо!


Время: 22:59.

Время: 22:59.
© OSzone.net 2001-