2014-05-13 4 views
0

이것은 현재 작업하고있는 코드입니다. 코드는 dir에서 * .msu 파일을 시스템으로 업데이트하여 업데이트합니다. 숫자를 9에서 1로 줄이면 코드가 박쥐 파일을 사용하고 있음을 알 수 있습니다. 여기서 나는 설치와 관련하여 가장 많은 부분을 다했다. 는 == "9" "파일"...Windows 업데이트를 설치하는 동안 Windows 파일 수를 줄입니다.

== 캔


==이 업데이트를 설치하면 I 출력은 다음과 같이 할 것입니다 코드

 @echo off 
     setlocal EnableDelayedExpansion 
     'This part code found the number of msu files 
     for /f %%A in ('dir *.msu') do ( 
     set files=!dirs! 
     set dirs=%%A 
    ) 
     'This part of code put the file msu file name 
     for /f %%A in ('dir /b *.msu') do ( 
     echo == Installing Updates == "%files%" "%%A" ... 
     %%A /quiet /norestart 
    ) 

     echo. 
     echo ######################################## 
     echo. 
     echo == Updates installed == 
     echo. 
     echo == Press any key to restart ==&pause>nul 
     echo. 
     shutdown.exe /r /t 0 

있다 업데이트 설치 == "8" "파일"...

업데이트 할 때마다 도움이 필요합니다. 그 숫자를 하나씩 낮추십시오. 도움이된다면 도움이 될 것입니다. 모든 도움을 주셔서 감사합니다.

답변

0

이렇게하는 것이 더 좋은 방법 일 수 있지만 원하는 것은 무엇입니까?

@echo off 
    for /f %%A in ('dir /b *.msu') do (
    echo == Installing Updates == "%%A" ... 
    %%A /quiet /norestart 
) 
    for /l %%A in (9,-1,1) do (
    cls 
    echo %%A 
    ping 1.1.1.1 -n 1 -w 1 >nul 
) 
    cls 
    echo. 
    echo ######################################## 
    echo. 
    echo == Updates installed == 
    echo. 
    echo == Press any key to restart ==&pause>nul 
    echo. 
    shutdown.exe /r /t 0 
+0

답장을 보내 주셔서 감사합니다. 그것을 시도해야합니다 – jeffH

0

Krii의 대답은 잘 작동합니다. 그러나 쉬운 방법이 있습니다. timeout 명령과 같은 다음은 10 초 동안 기다린 타이머 표시됩니다

timeout 10 

을 아니면 출력을하지 않은 경우에는 명령의 끝에서 > nul을 추가 할 수 있습니다.

choice /c a /n /d a /t 10 > nul 

예제는 모든 출력 문제가 발생하지 않습니다 :

또 다른 가능성은 choice 명령을 악용하는 것입니다. 물론 사용자는 a 키를 눌러 카운트 다운을 취소하고 스크립트를 계속 진행할 수 있지만 문제는 아닌 것으로 보입니다.

+0

답장을 보내 주셔서 감사합니다. 내가 그것을 밖으로 시도해야합니다 – jeffH

+0

@ jeffH이 당신을 위해 일한 적이 있습니까? – unclemeat

+0

아직 작업 중입니다 .. 시스템의 각 업데이트 및 핫픽스 설치 횟수를 줄이는 방법을 찾아야합니다. – jeffH