File 在VBScript中追加到文件,而不是每次都覆盖该文件
我只是想在这里建立一个日志文件。我试着用File 在VBScript中追加到文件,而不是每次都覆盖该文件,file,vbscript,append,overwrite,File,Vbscript,Append,Overwrite,我只是想在这里建立一个日志文件。我试着用OpenTextFile而不是CreateTextFile来做一些事情,但是它什么也没写,我真的不知道为什么,我很难找到我需要的信息 'Nick Repella 10/29/13 'Needed in case object does not exist (outdated list) On Error Resume Next Function IsCompDisabled(strLine) Dim objComputer objCom
OpenTextFile
而不是CreateTextFile
来做一些事情,但是它什么也没写,我真的不知道为什么,我很难找到我需要的信息
'Nick Repella 10/29/13
'Needed in case object does not exist (outdated list)
On Error Resume Next
Function IsCompDisabled(strLine)
Dim objComputer
objComputer = "LDAP://cn="
objComputer = objComputer & strLine
objComputer = objComputer & ",ou=HIDDENOU,dc=HIDDENDC,dc=HIDDENDC,dc=HIDDENDC"
IsCompDisabled = GetObject(objComputer).AccountDisabled
End Function
'Set the file to read computer names from (Change C:\scripts\text.txt to the
'target file)
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\scripts\text.txt", 1)
Dim strLine
Do While Not objFileToRead.AtEndOfStream
strLine = objFileToRead.ReadLine()
If (IsCompDisabled(strLine) = True) Then
outFile="c:\scripts\compDisableCheck.log"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(outFile, True)
objFile.Write strLine & "has been deleted"
objFile.Close
Else
WScript.Echo strLine & " computer is enabled no action taken"
End If
Loop
MsgBox "Done"
仔细研究这个问题。在循环之前定义ForAppending、.OpenTextfile(sFSpec,ForAppending,True)输出文件,并在循环之后关闭它
(未测试)代码:
仔细研究这个问题。在循环之前定义ForAppending、.OpenTextfile(sFSpec,ForAppending,True)输出文件,并在循环之后关闭它
(未测试)代码:
您在声明的常量中缺少“n”以显示…:)@巴特-谢谢你。已修复。您在声明的常量中缺少“n”以显示…:)@巴特-谢谢你。固定的。
Option Explicit
Const ForAppending = 8
'No global OERN
'Function to tell if the computer is disabled
Function IsCompDisabled( strLine )
' type prefix fraud!
Dim objComputer
objComputer = "LDAP://cn="
objComputer = objComputer & strLine
objComputer = objComputer & ",ou=HIDDENOU,dc=HIDDENDC,dc=HIDDENDC,dc=HIDDENDC"
' Needed H E R E in case object does not exist (outdated list)
On Error Resume Next
IsCompDisabled = GetObject(objComputer).AccountDisabled
' should be logged; pass otp file as parameter
On Error GoTo 0
End Function
'Set the file to read computer names from (Change C:\scripts\text.txt to the target file)
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim objFileToRead : Set objFileToRead = goFS.OpenTextFile("C:\scripts\text.txt") ' Using defaults, no magiv number
' delete otp file here, if you want logs per session
Dim objFile : Set objFile = goFS.OpenTextFile("c:\scripts\compDisableCheck.log", ForAppending, True)
'objFile[ToAppend] ?
Dim strLine
'Read from file until end of file
'If computer disabled say so / If computer enabled say so
Do Until objFileToRead.AtEndOfStream ' not while not
strLine = objFileToRead.ReadLine()
If IsCompDisabled(strLine) Then ' no camparison against boolean literals
' timestamp?
objFile.WriteLine strLine & " has been deleted"
Else
' ? objFile.WriteLine ...
WScript.Echo strLine & " computer is enabled, no action taken"
End If
Loop
objFile.Close
objFileToRead.Close
MsgBox "Done"