2014-07-09 2 views
-1

데이터의 자동 실행 백업을 만들고 싶습니다. 이것을 위해 나는 system32.i에있는 모든 ocx와 dll을 등록하고 싶다. 왜냐하면 우리는 새로운 dll을 추가 할 때이 becuse를위한 루프를 사용하기를 원한다. 우리는 배치 파일에서 그것을위한 여분의 코드를 작성할 필요가 없다. 다음 코드는 잘 작동하지만 루프를 사용하고 싶습니다. 우리는이 루프에 사용 어떻게배치 파일 프로그래밍에서 루프를 사용하는 방법

Set "tempFile=msdbrptr.dll" 
Set "tempPath=%rootPath%%tempFile% 

if not exist %tempPath% @ copy controls\%tempFile% %tempPath% 
regsvr32 %tempPath% 


Set "tempFile=scrrun.dll" 
Set "tempPath=%rootPath%%tempFile% 

if not exist %tempPath% @ copy controls\%tempFile% %tempPath% 
regsvr32 %tempPath% 

..

+0

'% \ system32를 \ * OCX % WINDIR % \ system32를 \ *. dll) do (regsvr32 %% A & regsvr32/i %% A)' – Noodles

+0

위의 코드에서 control 폴더에서 복사하고 system32에 등록 중입니다. %% A (% windir % \ system32 \ *. ocx % windir % \ system32 \ *. dll) do (regsvr32 %% A & regsvr32/i %% A)이 코드에서 제어 폴더를 정의합니다. – user3085836

+0

제어 디렉토리와 같은 것은 존재하지 않습니다. 제어판 가상 폴더이며 파일이 없습니다. 내 코드를 편집하여 백 슬래시를 제거하여 더 이상 작동하지 않게했습니다. – Noodles

답변

0

시험이 :.

(의 % windir에 대한 %%
@echo off 
for %%a in (
"msdbrptr.dll" 
"scrrun.dll" 
) do (
    if not exist "%rootPath%\%%~a" (
     copy "controls\%%~a" "%rootPath%" 
     regsvr32 "%rootPath%\%%~a" 
    ) 
) 
pause 
관련 문제