Мне нужно написать пакетный файл, чтобы сделать некоторые перемещения содержимого каталога.
Как я могу получить в пакетной переменной значение пути к профилю, возвращаемое командой net user xxx /domain?
Мне нужно написать пакетный файл, чтобы сделать некоторые перемещения содержимого каталога.
Как я могу получить в пакетной переменной значение пути к профилю, возвращаемое командой net user xxx /domain?
Вы можете использовать цикл for /f и поместить команду net user конвейеру в команду findstr, используя соответствующие tokens и delims в пакетном скрипте, чтобы проанализировать вывод и получить значение из поля User profile которое установлено для учетной записи в AD. ты бежишь против этой команды.
@ECHO ON
for /f "tokens=3 delims= " %%a in ('net user <username> /domain ^| findstr /i "profile"') do set profilepath=%%a
echo %profilepath%
Примечания сценария
Этот сценарий предполагает, что вы замените
<username>ниже явным значением необходимого имени пользователя при запуске, чтобы получитьProfile pathк профилю из командыnet use xxx /domain.Символ каретки перед символом канала (т.
^|) В скобках циклаfor /fнаправляет вывод командыnet userв командуfindstrпоэтому он должен экранировать символ канала, поэтому во время выполнения команды внутри Цикл, который знает, что перенаправляет вывод одной команды как ввод другой команды, в противном случае он запутывается, поэтому просто избегайте его.Знак процента имеет особое значение в пакетных сценариях, поэтому при использовании цикла
forвнутри пакетного сценария необходимо удвоить знак процента, т.%%aэтого заполнителя, чтобы избежать его, гарантируя, что он интерпретируется как один%и может передавать переменную соответственно в пределах петля.
For /?
delims=xxx - specifies a delimiter set. This replaces the
default delimiter set of space and tab.
tokens=x,y,m-n - specifies which tokens from each line are to
be passed to the for body for each iteration.
This will cause additional variable names to
be allocated. The m-n form is a range,
specifying the mth through the nth tokens. If
the last character in the tokens= string is an
asterisk, then an additional variable is
allocated and receives the remaining text on