我有编辑ini文件中的一行的脚本,该行位于用户%Appdata%文件夹,即C:\ Users \<> \ AppData \ Roaming。
我只编辑了一个指向正确文件位置的文件的当前脚本,但我希望有一个脚本可以编辑每个登录用户文件夹上的文件
我有一个下面的vbs,看起来像这样,但我无法使用变量%appdata%来编辑用户登录时文件夹下的文件
Const ForReading = 1
Const ForWriting = 2
Dim strUserName, CurrDir
Set objFSO = CreateObject("Scripting.FileSystemObject")
strUserName = InputBox("Please enter your email address below in the following format:" & Vbnewline & "firstname_lastname@test.com" & Vbnewline & Vbnewline & "HINT - If you are unsure, you can look up your name", "Add internet email address")
If strUserName = "" Then
Wscript.Quit
End If
Set objTextFile = objFSO.OpenTextFile("H:\appdata\Linkpoint360\LinkPointConfig.ini", ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
intLineFinder = InStr(strNextLine, "UserEMailAddress")
If intLineFinder <> 0 Then
strNextLine = "UserEMailAddress=" & strUserName
End If
strNewFile = strNewFile & strNextLine & VbCrLf
Loop
objTextFile.Close
Set objTextFile = objFSO.OpenTextFile("H:\appdata\Linkpoint360\LinkPointConfig.ini", ForWriting)
objTextFile.WriteLine strNewFile
objTextFile.Close
我不是脚本专家,但我最好通过互联网找到合适的解决方案而且我没有运气 如果有人可以请编辑此vbs并提供正确的脚本,那将非常感激
@ Ansgar Wiechers,我不能发布图片,因为我没有10个代表,但这是我在pop框中得到的内容:
在我的脚本中使用%appdata%时出现的错误。 从上面的代码我刚刚编辑了文件位置&#34; H:\ appdata ....&#34;到&#34;%appdata%.....&#34;
答案 0 :(得分:0)
你无法在vbscript中做到这一点。
但是,您可以做出一个安全的假设(忽略我认为不重要的网络和配置文件更新问题),配置文件位于“用户”文件夹下,并且每个用户将具有与AppFolder相同的相对路径。
处理此问题类型的常规方法是使用登录脚本。
答案 1 :(得分:0)
FileSystemObject
方法不会扩展环境变量。你需要自己做,例如像这样:
...
Set sh = CreateObject("WScript.Shell")
config = sh.ExpandEnvironmentStrings("%APPDATA%\Linkpoint360\LinkPointConfig.ini")
Set objTextFile = objFSO.OpenTextFile(config, ForReading)
...