создать скрытый текстовый файл с vbs

В настоящее время у меня есть vbscript, который создает текстовый файл в каталоге и открывает его, но я хотел бы сделать так, чтобы файл был скрыт, в настоящее время у меня есть этот код:

Set objFSO=CreateObject("Scripting.FileSystemObject")

outFile="C:\Users\User\Desktop\New map"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write "test line 1" & vbCrLf
objFile.Write "test line 2" & vbCrLf
objFile.Close

CreateObject("WScript.Shell").Run("""C:\Users\User\Desktop\New map""")

person Madmagic    schedule 05.12.2018    source источник


Ответы (1)


Вы можете установить атрибут следующим образом

Const cHidden = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")

outFile = "C:\Users\User\Desktop\New map"
Set objFile = objFSO.CreateTextFile(outFile, True)
objFile.Write "test line 1" & vbCrLf
objFile.Write "test line 2" & vbCrLf
objFile.Close

Set mapFile = objFSO.GetFile(outFile)
mapFile.Attributes = cHidden

CreateObject("WScript.Shell").Run Chr(34) & outFile & Chr(34)

Краткий справочник --> https://www.thevbprogrammer.com/ch06/06-09-fso.htm https://ss64.com/vb/filesystemobject.html< /а>

person Pankaj Jaju    schedule 05.12.2018
comment
Аргумент для .Run нуждается в кавычках. - person Ekkehard.Horner; 05.12.2018
comment
Не используйте магические числа, определяйте значения как именованные константы. В данном случае Const Hidden = 2 и Const ReadOnly = 1 и используйте их вот так mapFile.Atributes = Hidden + ReadOnly. - person user692942; 06.12.2018
comment
@Ekkehard.Horner - я не знаю, какой файл создает OP. Если это что-то вроде командного файла, переменной не нужны кавычки. - person Pankaj Jaju; 06.12.2018
comment
Тот факт, что имя файла содержит пробел, достаточен для его инкапсуляции в двойные кавычки. - person user692942; 06.12.2018