2012-02-24 21 views
5

Sto provando a scrivere uno script VBScript (.vbs) che utilizza il metodo WScript.Shell Run(), ma sembra come se fosse Esegui() non trova il file che sto passando.VBScript WScript.Shell Run() - Il sistema non riesce a trovare il file specificato

Ho ridotto il mio script al seguente codice che riprodurrà i risultati. Questo può essere copiato in un editor di testo, salvato come test.vbs ed eseguito. Il comando tipo emette semplicemente il testo all'interno del file passato in.

Dim WShell 
Set WShell = WScript.CreateObject("WScript.Shell") 

WShell.Run("type C:\inetpub\wwwroot\iisstart.htm") 

Set WShell = Nothing 

Se si dovesse eseguire il codice in Run() direttamente dal prompt CMD, funziona benissimo. Ma quando è eseguito da all'interno di uno script .vbs e l'utilizzo di Run(), mi dà il seguente errore:

Test.vbs(4, 1) (null): The system cannot find the file specified. 

posso eseguire altri comandi utilizzando Run() bene, ma quando provo a passare in un percorso fallisce. Exec() non riesce con lo stesso errore. Qualche idea?

risposta

8

Prova questa

Set oShell = CreateObject("WScript.Shell") 

strCmd = "cmd /K type C:\inetpub\wwwroot\iisstart.htm" 

oShell.Run(strCmd) 

Set oShell = Nothing 
+0

L'utilizzo di 'cmd.exe .k' è necessario perché' type' non è un programma eseguibile vero e proprio, ma piuttosto un comando interno all'interno del processore CMD Comando. –

Problemi correlati