2013-07-11 12 views
5

Widziałem odpowiedź na to pytanie, ale wydaje mi się, że nie działa w moim konkretnym przypadku. Piszę krótki plik wsadowy po raz pierwszy, a polecenie chcę go wykonać to:Wymuś plik wsadowy, aby odpowiedzieć "Tak" na pytania:

net time \\compname /set 

Zwykle poprosi o potwierdzenie TAK lub NIE. Chciałem tego uniknąć w pliku wsadowym i zobaczyłem ludzi mówiąc, można dodać:

echo y | net time... 

Jednak, kiedy mogę to zrobić za pomocą tego polecenia, widzę, że prosi o potwierdzenie, a następnie natychmiast po tym, że ma linię mówiąc: "Nie podano prawidłowej odpowiedzi".

Czy ktoś wie, czy jest flaga, o której nie jestem świadomy, że może to naprawić, lub dlaczego w tym przypadku echo jest podane w odpowiedzi na to zabawne?

Odpowiedz

8

polecenie net time wspiera (nieudokumentowane) Parametr „/ Tak”, a więc w tym przypadku odpowiedź jest dość prosta:

net time \\compname /set /yes 
+0

Działa wspaniale, dziękuję. – Colin

+2

Działa to również w celu rozłączenia wszystkich udziałów sieciowych - 'net use */DELETE/yes' –

+0

Działa to również w przypadku zatrzymywania usług' net stop /yes' –

0

Potwierdzono to zachowanie. Zastanawiam się, czy strumień wejściowy jest czyszczony, gdy działa NET. Jeśli go uruchomię i natychmiast wpiszę kilka znaków, pojawią się one po tym, jak w końcu podaję podpowiedź, ale przekierowanie potoków lub plików nie działa. Niektóre programy, które mają być interaktywne, mają tę frustrującą cechę.

Spróbuj obejść ten problem, pobierając czas z komputera, a następnie ustawia go za pomocą date i time, które mogą pobierać dane z potoku.

for /f "tokens=6-7" %a in ('net time \\compname') do (
    echo Setting system time to %a %b 
    echo %a | date > nul 
    echo %b | time > nul 
) 

I pamiętaj, aby używać dodatkowego % dla wszystkich tych zmiennych, jeśli jest to w pliku wsadowym. Dzięki Microsoftowi za tworzenie skryptów.

+0

Ahh, dzięki za pomoc. Niestety tracisz dokładność sekund/ms dzięki temu rozwiązaniu. – Colin

+0

To jest bummer. Sądzę, że będziesz musiał znaleźć lepsze narzędzie do pracy lub skonfigurować usługę NTP, zamiast ją grupować: http://www.timetoolsglobal.com/2013/06/21/how-to-synchronize-microsoft-windows -to-a-ntp-server-1/ – paddy

Powiązane problemy