2012-09-01 2 views
0

기본적으로 모든 VBS 스크립트는 하나의 간단한 VBS 스크립트를 만드는 것이므로 그러나 내 문제는 특정 PC에서 처음 실행할 때 800A0035 또는 800A004C 오류가 발생한다는 것입니다. 두 번째로 실행하면 바로 실행되어 정상적으로 실행됩니다. 해야 할 것. 덧붙여 말하자면, 제 자신의 컴퓨터에서는 첫 번째 실행에서도 제대로 작동합니다. 오류가 잘못된 경로와 관련이 있다는 것을 알고 있지만 스크립트를 여러 번 확인했으며 올바른 것으로 100 % 긍정적입니다. 스크립트가 어떻게해야 무엇VBS 스크립트 (VBScript) 오류 스크립트의 첫 실행에만 800A0035 및/또는 800A004C가 발생했습니다.

Set objFSO = CreateObject("Scripting.FileSystemObject") 
objFSO.MoveFile "rar.bat" , "rarp.bat" 
'HideBat.vbs 
CreateObject("Wscript.Shell").Run "rarp.bat", 0, True 

rarp.batrar.bat 파일의 이름을 변경하고 명령 프롬프트를 진열하지 않고 그 배치 파일 (rarp.bat)를 실행하는 것입니다 : 여기

는 스크립트입니다. 배치 파일이하는 것은 관련이 없습니다, 어쨌든, 그냥 실행됩니다 WinRAR.

rar.bat 파일과 VBS 스크립트가 같은 폴더에 있으므로 그 스크립트에서 상대 경로를 사용했습니다. 스크립트를 여러 대의 컴퓨터에서 실행해야하므로 절대 경로를 사용할 수 없습니다.

인터넷상의 어딘가에서 VBS 스크립트는 상대 경로가 사용될 때 C:\Windows\System32에있는 파일을 먼저 찾습니다. 나는 심지어 스크립트에서 절대 경로를 사용하여 시도했지만 그것도 작동하지 않았다. 다음과 같이 보이게하려면 어떻게해야합니까? %systemdrive%\users\%username%\appdata\roaming\rar.bat하지만 VBS 스크립트에서는이 기능이 작동하지 않습니다.

정말 필요한 스크립트는 실제로 간단한 스크립트이지만 실제로 제대로 작동시키는 것은 어렵다고 생각합니다. 나는 나를 도와주는 사람들에게 매우 감사 할 것입니다.

미리 감사드립니다.

감사합니다.

+0

을 시도 할 수있는 절대 경로를 사용하려면 루프에서 잠을 8nnnnnnn * 오류, 이러한 파일을 다시 등록하지보십시오 : CSCRIPT.EXE, JSCRIPT.DLL, MSSCRIPT.OCX, SCRIPTLE.DLL, VBSCRIPT.DLL, WSCRIPT.EXE, WSHOM.OCX' – Jay

+0

글쎄, 당신의 충고에 대한 감사하지만 저는 VBS 스크립트의 초보자입니다. 이 파일을 등록 취소하고 등록하는 방법을 알려주십시오. – user1640405

+0

등록을 취소하려면'regsvr32/u {파일 이름}'을 사용하고 등록하려면'regsvr32 {파일 이름} '을 사용하십시오. 명령 프롬프트 및 Windows의 'SYSTEM32' 디렉토리에서 실행하십시오. – Jay

답변

1

스크립트 (적어도 게시 된 부분)가 오류를 줄 수있는 유일한 방법은 이름을 바꾸려면 소스 파일을 찾지 않는 것이므로 전체 스크립트와 오류 메시지를 추가해야합니다. 이것은 PC의 나머지 부분 (예 : UAC)보다 더 관대 한 보안 설정 때문에 발생한다고 생각합니다. 다른 PC의 경우 c : \ test와 같은 맵에 파일을 놓은 다음 rar.bat 파일이 동일한 맵에 있는지 확인한 후 다시 실행하십시오. 다른 PC에 동일한 자격 증명 (admin)이 있습니까? 방금 ​​숨겨진 박쥐 파일을 실행하려면 이름을 변경하는 이유는 무엇입니까?

어떻게 박쥐를 다운로드합니까? 그런 다음 스크립트는 어떻게 호출됩니까? 두 번째 시간이 더 이상 문제가되지 않는 타이밍 문제 일 수 있습니다. * 스크립트의 경우 검사에서 경우 파일은 allready이하고

을하지 않는 동안 당신이 들어이

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set WshShell = CreateObject("WScript.Shell") 
Set WshSysEnv = WshShell.Environment("PROCESS") 
path = WshSysEnv("USERPROFILE") & "\appdata\roaming\rar.bat" 
wscript.echo path 
objFSO.MoveFile path , "rarp.bat" 
CreateObject("Wscript.Shell").Run "rarp.bat", 1, True 
+0

답해 주셔서 감사합니다. 사실 제가 출판 한 부분은 전체 스크립트입니다. 다음은 오류 그림입니다. "http://i.imgur.com/U63tF.png"여러 대의 컴퓨터, XP, VISTA에서 시도했기 때문에 다른 PC의 보안 설정으로 인한 것 같지 않습니다. 및 Win7, 관리자 계정뿐만 아니라 제한된 계정. 작동하지 않았으며, 각 컴퓨터에서 동일한 방식으로 작동합니다. 첫 번째 실행에서는 작동하지 않지만 (오류는 발생하지만) 두 번째 실행에서는 완벽하게 작동합니다. 이것은 내가 이해할 수없는 것이다! 나는 또한 당신의 조언을 따르고 파일을 C : \에 아무 소용이 없다. – user1640405

+0

"rar.bat"이 스크립트와 동일한 폴더에 있는지 확인했습니다. 제 동료조차도 저를 도왔습니다. 두 번째 실행시 스크립트가 정상적으로 작동하는 이유는 무엇입니까? 어떻게 든 "GetParentFolder"를 사용하여 경로를 지정하면 안됩니까? 전에 말했듯이, 나는 그 파일들이 동시에 같은 폴더에 있다는 것을 100 % 확신합니다. 다른 아이디어? 나는 아직도 그것이 두 번째 실행에서 잘 실행된다는 사실과 관련이있는 무언가가 있어야한다고 생각한다. 그런데 VBS 스크립트는 해당 PC에 다운로드되므로 이름이 바뀝니다. – user1640405

+0

새로운 답변을 기반으로 내 대답에 대한 조언을 추가했습니다 – peter

관련 문제