2014-05-23 12 views
0

임시 인터넷 폴더에 "123.txt"라는 파일을 저장하는 Internet Explorer 페이지로 이동하는 VBScript가 있습니다. 이 텍스트 파일에서 "Key = 1234567"을 읽는 줄입니다.이 키를 검색하고 메시지 상자에 표시하는 스크립트를 만들려고합니다. 내 문제는 임시 폴더가 가상 폴더이며 파일을 일반 파일처럼 읽을 수 없다는 것입니다.인터넷 익스플로러 임시 폴더에서 파일 읽기

 Const TEMPORARY_INTERNET_FILES = &H20& 


    Dim WshShell = CreateObject("WScript.Shell") 



    Dim objShell = CreateObject("Shell.Application") 
    Dim objFolder = objShell.Namespace(TEMPORARY_INTERNET_FILES) 
    Dim objFolderItem = objFolder.Self 





    Dim ie = CreateObject("InternetExplorer.Application") 
    ie.visible = True 
    ie.navigate2("myUrl") 

    While (ie.busy) 
     wscript.Sleep(1) 
    End While 

    Dim f As StreamReader 
    Dim colItems = objFolder.Items 
    For Each objItem In colItems 

     If InStr(objItem.name, "123.txt") <> 0 Then 
          Dim sr As StreamReader = New StreamReader(Str(objFolderItem.path & "\" & objItem.name)) 
      Do While sr.Peek() >= 0 
      dim line = sr.ReadLine() 
      if(instr(line,"key")<>0) then 
        key = line 
      end if 
      Loop 
     End If 
    Next 

답변

0

임시 인터넷 파일의 파일 이름은 대개 실제 이름이 바뀝니다. 그러므로 생각하고있는 이름을 사용할 쉘 인터페이스를 사용하십시오.

Explorer 세부 정보보기에서 설정할 수있는 열과 동일합니다.

이 스크립트는 폴더의 개체에 대한 모든 셸 속성을 덤프합니다. 그것은 TIF 않습니다.

Set objShell = CreateObject("Shell.Application") 
Set Ag=Wscript.Arguments 
set WshShell = WScript.CreateObject("WScript.Shell") 

'32 is Temp Internet Files 
Set Fldr=objShell.NameSpace(32) 
'Set Fldr=objShell.NameSpace(Ag(0)) 
Set FldrItems=Fldr.Items 
Set fso = CreateObject("Scripting.FileSystemObject") 


Set DeskFldr=objShell.Namespace(16) 
FName=fso.buildpath(DeskFldr.self.path, "Folder Property List.txt") 


Set ts = fso.OpenTextFile(FName, 8, true) 


'Getting first 40 column names by passing null 
For x = 0 to 40 
    t1 = t1 & Fldr.GetDetailsOf(vbnull, x) & vbtab 
Next 
ts.write FLDR.self.path & vbcrlf 
ts.Write T1 & vbcrlf 
T1="" 

'getting the first 40 column values for each item 
For Each FldrItem in FldrItems 
    For x = 0 to 40 
     t1 = t1 & Fldr.GetDetailsOf(FldrItem, x) & vbtab 
    Next 
    t1=t1 & vbcrlf 
    ts.Write T1 
    T1="" 
Next 

msgbox FName & "has a tab delimited list of all properties" 
0

당신이 VB.NET을 사용하고있는 것 같습니다 키 MSGBOX. 다음은 VBScript 예제입니다.

' Get the path to the temporary internet files folder... 
strPath = objShell.Namespace(TEMPORARY_INTERNET_FILES).Self.Path 

' Create an FSO... 
Set objFSO = CreateObject("Scripting.FileSystemObject") 

' Check for the file's existence... 
If objFSO.FileExists(strPath & "\123.txt") Then 

    ' Read the first line... 
    strLine = objFSO.OpenTextFile(strPath & "\123.txt").ReadLine() 

    ' Split on '=' and display the second array element... 
    MsgBox Split(strLine, "=")(1) 

End If