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
--------------------------- **

¿Fue útil?

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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top