Вопрос
Мне нужно создать текстовый файл с именем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)