stò creando una sorta di ftp client e qundi vorrei esplorare il contenuto della root ftp.
Per far ciò eseguo dei comandi dos contenuti in un file test.ftp e redirigo l'output sul file temp .txt secondo il seguente codice:
codice:Dim objFSO, objTextFile, objTextFile2, oScript, oScriptNet, oFileSys, oFile, strCMD, strTempFile, strCommandResult Dim ftp_address, ftp_username, ftp_password, ftp_physical_path, ftp_files_to_put Dim sReadLine, sRead, sReadAll, trovato trovato=false ftp_address = "xxxxx.it" ftp_username = "bjkbkjbk" ftp_password = "ffjgfjgjgj" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.CreateTextFile("c:\test.ftp",true) objTextFile.WriteLine "lcd " & "c:\" objTextFile.WriteLine "open " & ftp_address objTextFile.WriteLine ftp_username objTextFile.WriteLine ftp_password objTextFile.WriteLine "prompt" objTextFile.WriteLine "ls" objTextFile.WriteLine "bye" objTextFile.Close Set objTextFile = Nothing Set wshshell=CreateObject("wscript.shell") wshshell.Run "%comspec% /c ftp.exe -s:c:\test.ftp >c:\temp.txt" Set oFileSys =CreateObject("Scripting.FileSystemObject") Set oFile = oFileSys.OpenTextFile ("c:\temp.txt", 1, False, 0) Do While Not oFile.AtEndOfStream sReadLine=oFile.ReadLine if(trovato)then if(sReadLine<>"226 Transfer complete")then document.Write "" & sReadLine & " " else trovato=false end if end if if(sReadLine="ls")then sReadLine=oFile.ReadLine sReadLine=oFile.ReadLine trovato=true end if loop oFile.Close Set oFile = Nothing Call oFileSys.DeleteFile("c:\temp.txt", True ) Call objFSO.DeleteFile( "c:\test.ftp", True ) Set oFileSys = Nothing Set objFSO = Nothing
Ho l'impressione che nonostante il comando ""%comspec% /c " implichi che l'esecuzione vada avanti solo al termine del comando dos, in realta quando cerca di aprire il file questo non è ancora stato ultimato...un aiuto??!!! :master:![]()

Rispondi quotando
