Pregunta
Es necesario crear un archivo de texto llamado " listfile.txt " en la carpeta C: \ Documents and Settings \ All Users \ Application Data \ netapp \ system , así que hice lo siguiente VBScript para que acheive
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
pero su trayectoria errores de lanzamiento de mención no se encuentra
** Windows Script Host
Guión: C: \ Documents and Settings \ puthuprf \ Desktop \ Test.vbs Línea: 15 Char: 1 Error: Ruta no encontrada Código: 800A004C
Fuente: error de ejecución de Microsoft VBScript
Aceptar
--------------------------- **
Solución
Esta línea en el script es incorrecta:
Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)
Para insertar variables y propiedades de los objetos en una cadena, es necesario concatenar usando el operador &
, como esto:
Set MyFile = fso.CreateTextFile(objFolderItem.Path & OSCPATH & "\listfile.txt", True)
Tenga en cuenta que se recomienda utilizar el método BuildPath
para combinar múltiples piezas de la ruta, ya que le libera de la adición de los separadores de ubicación necesarios (\
) manualmente:
strFileName = fso.BuildPath(objFolderItem.Path, OSCPATH)
strFileName = fso.BuildPath(strFileName, "listfile.txt")
Set MyFile = fso.CreateTextFile(strFileName, True)