在VBScript

时间:2018-01-13 02:22:46

标签: vbscript

我有一个Vbs可以在另一个位置创建另一个Vbs。

Option Explicit
dim fso,ofile
Const WR=2
set fso = createobject("scripting.filesystemobject")

set ofile= fso.opentextfile("C:\Users\Operator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Start-up\file.vbs",WR,true)

ofile.write "Dim objshell"
ofile.writeline "set objshell = wscript.createobject(""wscript.shell"")"

代码继续,但其他脚本没有问题。我想知道..它说" C:\ Users \ Operator"但我希望它适用于所有计算机。当我将其发送给朋友等时,应将操作员替换为%USERNAME%。但我不知道如何一般地完成它以及如何将其嵌入到此代码中。 谢谢!

2 个答案:

答案 0 :(得分:0)

只需替换行中的Operator

set ofile= fso.opentextfile("C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Start-up\file.vbs",WR,true)

答案 1 :(得分:0)

您可以使用WshShell的Environment属性来确定什么是AppData当前位置。

Option Explicit

Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim AppDataPath : AppDataPath = CreateObject("WScript.Shell").Environment("PROCESS")("APPDATA")
Dim Ofile : Set Ofile = fso.CreateTextFile(AppDataPath + "\Roaming\Microsoft\Windows\Start Menu\Programs\Start-up\file.vbs",True)
Ofile.writeline "Dim Objshell : Set Objshell = CreateObject(""wscript.shell"")"
Ofile.Close