Domanda
Ho bisogno di creare un file di testo denominato " listfile.txt " nella cartella C: \ Documents and Settings \ All Users \ Application Data \ NetApp \ system così ho fatto la seguente VBScript per acheive che
Const CommonAppData = &H23& ' the second & denotes a long integer '
Const OSCPATH = "\netapp\system"
Dim fso, MyFile
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(CommonAppData)
Set objFolderItem = objFolder.Self
'MsgBox objFolderItem.Name & ": " & objFolderItem.Path
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close
, ma il suo percorso errori lancio di nota non viene trovato
** Windows Script Host
Script: C: \ Documents and Settings \ puthuprf \ Desktop \ Test.vbs Line: 15 Char: 1 Errore: Percorso non trovato Codice: 800A004C
Fonte: errore di runtime di Microsoft VBScript
OK
--------------------------- **
Soluzione
Questa linea nello script non è corretto:
Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)
Per inserire le variabili e le proprietà degli oggetti in una stringa, è necessario concatenare utilizzando l'operatore &
, in questo modo:
Set MyFile = fso.CreateTextFile(objFolderItem.Path & OSCPATH & "\listfile.txt", True)
Si noti che si consiglia di utilizzare il metodo BuildPath
per combinare più parti del percorso, in quanto si libera di aggiungere i separatori di percorso necessarie (\
) manualmente:
strFileName = fso.BuildPath(objFolderItem.Path, OSCPATH)
strFileName = fso.BuildPath(strFileName, "listfile.txt")
Set MyFile = fso.CreateTextFile(strFileName, True)