Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    14

    file di testo e comandi DOS

    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:

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    14
    Ho risolto


    è bastato modificare la seguente riga
    codice:
    wshshell.Run "%comspec% /c ftp.exe -s:c:\test.ftp >c:\temp.txt",7, true

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.