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) включен.
Как можно удалить этот пробел или пустую строку?
Написал скрипт, который возвращает 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) включен.
Как можно удалить этот пробел или пустую строку?