Как добавить% USERNAME% в путь при создании текстового файла в VBS? - PullRequest
0 голосов
/ 08 апреля 2019

Я пишу новый сценарий VBS, который должен создать файл TXT в каталоге Documents.В то время как с другими входами я использовал% USERNAME% для имени пользователя ПК, команда «CreateTextFile», кажется, хочет настоящий каталог, без включения каких-либо переменных, таких как% USERNAME%.

Я как бы новичоктак что я не могу понять.

Вот что я пытался:

Dim objFS, objFile
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.CreateTextFile("C:\Users\%USERNAME%\Documents\Demo.txt", true)
objFile.WriteLine("some sample text")

Он должен понимать% USERNAME% как UserName ПК, но не понимает.

В результате я получаю сообщение о том, что программа не может найти каталог C: \ Users \% USERNAME% \ Documents.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Есть много более длинных растяжек, которые уместны, но это пара примеров - гораздо проще:

Option Explicit

Msgbox CreateObject("WScript.Network").UserName

' or into a variable

Dim oShell : set oShell = CreateObject("WScript.Network")
Dim UserName : UserName = oShell.UserName
Msgbox UserName

Set oShell = Nothing
0 голосов
/ 08 апреля 2019

Для получения рабочего стола используется

SpecialFolders Property

Возвращает объект SpecialFolders (набор специальных папок).

object.SpecialFolders(objWshSpecialFolders)

Аргументы

объект WshShell объект.

objWshSpecialFolders Имя специальной папки. (например, рабочий стол)

Строки среды не раскрываются. Вы можете передать всю строку, содержащую переменные среды. EG "%userprofile%\Desktop". В этом коде перечислены все доступные переменные https://pastebin.com/rrEyVxFd.

Метод ExpandEnvironmentStrings

Возвращает расширенное значение переменной среды.

object.ExpandEnvironmentStrings(strString)

Аргументы

объект WshShell объект.

strString String значение, указывающее имя переменной среды Вы хотите расширить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...