2017-11-18 18 views
2

.vbs 파일로 인터넷에서 파일을 다운로드하고 싶습니다. 여기에 코드가 있습니다 : Is it possible to download using the Windows command line?파일에 쓰지 못했습니다. 오류 - ADODB.stream

이 파일은 ADODB.stream을 사용하여 파일을 내 C 드라이브로 추출합니다. Windows XP SP3에서 실행했는데 정상적으로 작동했습니다. 그런 다음 Windows 10에서 실행하려고하면 "파일에 쓸 수 없습니다"오류가 발생합니다. 나는 또한 "cscript.exe download.vbs"로 CMD에서 시도했고 같은 일이 일어났습니다. 이 오류가 발생하는 Windows XP와 Windows 10의 차이점은 무엇입니까? 그것을 고칠 수 있습니까?

strFileURL = "http://www.it1.net/images/it1_logo2.jpg" 
strHDLocation = "c:\logo.jpg" 
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
objXMLHTTP.open "GET", strFileURL, false 
objXMLHTTP.send() 
If objXMLHTTP.Status = 200 Then 
Set objADOStream = CreateObject("ADODB.Stream") 
objADOStream.Open 
objADOStream.Type = 1 
objADOStream.Write objXMLHTTP.ResponseBody 
objADOStream.Position = 0  
Set objFSO = Createobject("Scripting.FileSystemObject") 
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation 
Set objFSO = Nothing 
objADOStream.SaveToFile strHDLocation 
objADOStream.Close 
Set objADOStream = Nothing 
End if 
Set objXMLHTTP = Nothing 
+4

Windows Vista부터는 상승 된 권한으로 실행하지 않는 한 C : 드라이브의 루트에 쓸 수 없습니다. – Squashman

+0

오오오. 감사! – ZaneStudios

답변

2

이는 운영 체제에 직접 관련이 사실상 프로그래밍 문제로 나타날 수 있지만 :

여기에 정확한 코드입니다. Windows XP와 Windows 10 사이에서 발생한 변경 사항은 User Account Control(Windows Vista에서 처음 소개되었습니다)으로 알려져 있습니다.

이 윈도우 비스타/7에서 UAC (사용자 액세스/계정 컨트롤)에 기인하고, 보호 된 폴더에 쓰기를 시도하는 How do I get permissions to save in a folder that Windows 7 denies me from?

에 명시된 바와 같이. 윈도우 10 (OS가 설치되어있는 보통 드라이브) 시스템 드라이브 의 루트에서

은 보호 된 폴더로 분류된다. 보호 된 폴더에 액세스

는 Windows 스크립트 호스트를 통해 VBScript를 실행할 때 필요한 스크립트와 wscript.exe 또는 csscript.exe(프로그램 컨텍스트 메뉴에서 사용할 수) 관리자 모드에서 명령 프롬프트를 시작하고 호출하여 수행 할 수 있습니다 높은 권한이 필요합니다 통로.

+1

감사! 이제 관리자로 실행하고 있습니다. – ZaneStudios