Вопрос

Мне нужно создать текстовый файл с именемlistfile.txt."В папке C: Документы и настройки Все пользователи Данные приложения NetApp System поэтому я сделал следующий VBScript для достижения того, что

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

но его бросание ошибок, упомянув путь не найден

** Хост сценария Windows

Сценарий: C: Документы и настройки puthuprf desktop test.vbs Линия: 15 char: 1 Ошибка: Путь не найден код: 800A004C

Источник: ошибка времени выполнения Microsoft VBScript

ХОРОШО
---------------------------**

Это было полезно?

Решение

Эта строка в вашем скрипте неверна:

Set MyFile = fso.CreateTextFile("objFolderItem.Path & OSCPATH\listfile.txt", True)

Вставлять переменные и свойства объекта в строку, вам нужно объединить их с помощью & Оператор, как это:

Set MyFile = fso.CreateTextFile(objFolderItem.Path & OSCPATH & "\listfile.txt", True)


Обратите внимание, что рекомендуется использовать BuildPath Способ для совмещения нескольких частей пути, поскольку он освобождает вас от добавления необходимых разделителей пути (\) вручную:

strFileName = fso.BuildPath(objFolderItem.Path, OSCPATH)
strFileName = fso.BuildPath(strFileName, "listfile.txt")

Set MyFile = fso.CreateTextFile(strFileName, True)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top