2013-05-07 5 views
0

Когда я запускаю команду ниже на моем сервере Citrix в окне CMD он работает нормально, но когда я запускаю его в пакетном файле я получаю «был неожиданным в это время»Команда не работает в пакетном файле

for /f "skip=1 tokens=2 delims=: " %f in ('nslookup www.domain.com ^| find /i "Address"') do ALTADDR /SET %f 

Как мне заставить это работать в пакетном файле?

ответ

3

В пакетном файле вы должны использовать %% е вместо% F:

for /f "skip=1 tokens=2 delims=: " %%f in ('nslookup www.domain.com ^| find /i "Address"') do ALTADDR /SET %%f 
+0

Спасибо! Мне всегда было любопытно, почему иногда «%» и иногда «%%». Для меня это был маленький момент WTF. –

+0

Да, я знаю ... Эвакуация специальных символов - ахма - уродливая. Но это становится очень странно, если вам нужно избегать победных символов ... ^^ – Stephan