2013-06-13 2 views
1

Я пытаюсь изменить текущий скрипт, который выполняется как сценарий входа в систему по домену GPO. У меня есть специальный случай, когда, если пользователи регистрируются на определенной машине в домене, мне нужно сопоставить различные сетевые диски. В противном случае все остальные компьютеры загружают основные сопоставления дисков.пакетный скрипт - сопоставить сетевые диски по имени компьютера

У меня есть попытки оба следующих без успеха:

echo %COMPUTERNAME% | %SYSTEMROOT%\System32\find.exe /i "VMMACHINE" > nul: 
if %ERRORLEVEL% EQU 0 goto VMMACHINE-DRIVES 

и я пытался

if %COMPUTERNAME% EQU "VMMACHINE" goto VMMACHINE-DRIVES 

Может кто-нибудь помочь?

+0

Добро пожаловать на StackOverflow! Пожалуйста, прочитайте, как вы можете отформатировать свои вопросы/ответы (например, код), это очень помогает http://stackoverflow.com/editing-help – outcoldman

ответ

0

Я думаю, что вы хотите:

if "%COMPUTERNAME%" == "VMMACHINE" goto VMMACHINE-DRIVES 

Добавить " интерпретировать %COMPUTERNAME% в виде строки и == для сравнения строк.

+0

спасибо за помощь. Добавление «" около% COMPUTERNAME% сделал трюк, на который это похоже. – justlearning

0

Синтаксис будет работать, если у вас есть обе стороны, заключенные в двойные кавычки, и корпус подходит для двух строк.

if "%COMPUTERNAME%" EQU "VMMACHINE" goto :VMMACHINE-DRIVES 

Это должно также работать. Ваш код выглядел отлично от: on nul: который может работать, но не часто используется. Это использует оператор с ошибкой & &, а дополнение - ||

echo %COMPUTERNAME% | find.exe /i "VMMACHINE" > nul && goto :VMMACHINE-DRIVES 
Смежные вопросы