用vbs创建隐藏的txt文件
Posted
技术标签:
【中文标题】用vbs创建隐藏的txt文件【英文标题】:create hidden txt file with vbs 【发布时间】:2019-05-07 04:30:59 【问题描述】:我目前有一个 vbscript,它在目录中创建一个 txt 文件并打开它,但我喜欢让它隐藏文件, 目前我有这个代码:
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""")
【问题讨论】:
【参考方案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
【讨论】:
.Run 的 arg 需要引号。 不要使用magic numbers,将值定义为命名常量。在这种情况下Const Hidden = 2
和Const ReadOnly = 1
并像这样使用它们mapFile.Atributes = Hidden + ReadOnly
。
@Ekkehard.Horner - 我不知道 OP 正在创建什么样的文件。如果它类似于批处理文件,则该变量不需要引号。
文件名包含空格的事实足以要求用双引号括起来。以上是关于用vbs创建隐藏的txt文件的主要内容,如果未能解决你的问题,请参考以下文章