2015-12-21 2 views
0

Я вытягивать следующую переменную из Active Directory:Extract часть строки из Active Directory переменной

Homeshare=\\<filer_number>\Homedir\MyUsername. 

Мне нужно извлечь «filer_number» и установить его в качестве переменной для использования в другом месте в моем logon.bat файле , Например, установите filer# = %filer%. Как я могу это сделать?

+0

Что вы подразумеваете под "экстраполяцией?" «оценивать или заключать (что-то) путем экстраполяции« или »расширения (график, кривая или диапазон значений) путем вывода неизвестных значений из тенденций в известных данных?» - Как? Пожалуйста, покажите примеры. – Magoo

+0

Добро пожаловать в переполнение стека. Похоже, вы могли бы означать «извлечение» вместо «экстраполяции». Вы пытаетесь определить часть информации из сегмента переменной «Главная»? –

+0

ooops, Да, это должно быть извлечение. – GBilder

ответ

1

Попробуйте это:

@echo off 
set "testvar=Homeshare=\Filer#\Homedir\MyUsername" 
for /F "tokens=2 delims=\" %%a IN ("%testvar%") DO (set "filerVariable=%%a") 
echo %filerVariable% 
pause 

Это работает путем разбиения строки, используя \ знак в качестве разделителя, и с 2-го маркера.

+2

Основная осторожность: OP содержит пробел между именем переменной и '='. Пакетные назначения являются буквальными. Пример OP установил бы переменную, называемую «filer # * space *», а не «filer #». – Magoo

+1

Вы правы, но он говорит, что хочет извлечь «Filer #», и там он использовал цитаты и не использовал пробелы, поэтому я предполагал, что он просто использовал пробелы вокруг if, потому что это легче читать. –

0

Вот что я придумал, он очень похож на ответ @Dennis van Gils, но у меня есть некоторые примечания ниже.

@echo off 
set target=3 
set homedirstring="\\Filer#\Homedir\MyUsername" 
for /F "tokens=%target% delims=\" %%a in ("%homedirstring%") DO (set "newvar=%%a") 
echo %target%:%newvar% 
  1. Целью является сегмент переменной HomeDir после того, как она разделяется на \ характер. В этом случае «Filer #» является третьей подстрокой. Если вам нужно изменить его, просто измените целевое значение.
  2. Как указано в комментарии @Magoo, убедитесь, что вы не помещаете пробелы после оператора = при назначении значений переменным. Если вы это сделаете, это пространство будет включено в значение.
+0

Святые дымы, вы, ребята, потрясаете! спасибо всем за вашу помощь !! – GBilder

Смежные вопросы