VBScript使用Computername命名文件

时间:2015-09-17 13:58:17

标签: vbscript

VBScript的新手,并且在掌握这个概念时遇到了问题。

这是代码:

Set WshNetwork = WScript.CreateObject("WScript.Network")
strCompName = WshNetwork.Computername
Wscript.Echo WshNetwork.Username >j:\strCompName.txt
WScript.Quit()

基本上我想将用户名转储到文本文件中,文本文件应该用计算机名称命名。我已经尝试将strCompName放在引号,单引号,括号中但没有成功。

2 个答案:

答案 0 :(得分:1)

以下是您可以使用的代码。您需要使用FileSystemObject。 FileSystemObject用于访问计算机的文件系统。它可以创建新文件并访问现有文件。

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")

strCompName = WshNetwork.Computername

'writing to file
outFile="c:\TEMP\" & strCompName & ".txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write WshNetwork.Username & vbCrLf
objFile.Close

Set objFile = Nothing
Set objFSO = Nothing
Set WshNetwork = Nothing

WScript.Quit()

将其保存在.vbs文件中并运行,您将在 TEMP 文件夹中获得一个带有计算机名称的文本文件(如果您愿意,可以更改路径)。

答案 1 :(得分:1)

此代码应该有效。此代码打开文件并在文件存在时附加文件或创建文件,如果文件不存在则写入文件。

'constants
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

'Load domain, username, & computer variables
Set oShell = CreateObject( "WScript.Shell" )
sDomain = oShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )
sUserName = oShell.ExpandEnvironmentStrings( "%USERNAME%" )
sComputer = oShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

'Setup filesystemobject
Set oFSO=CreateObject("Scripting.FileSystemObject")

'Check to see if file exists. If exists open it forAppending
'else create file and write to it.

outFile="c:\export\" & sComputer & ".txt"
If oFSO.FileExists(outFile) Then
    Set objFile = oFSO.OpenTextFile(outFile, ForAppending, True, TristateTrue)
Else
    Set objFile = oFSO.CreateTextFile(outFile,True)
End If

'write to file
objFile.WriteLine sDomain & "\" & sUsername & " - " & Now

'clean up objects
objFile.Close
Set objFile = Nothing
Set oFSO = Nothing
Set oShell = Nothing