2015-10-16 5 views
1

эй, ребята, нужна помощь! Я пытаюсь сделать то же самое. Что им пытаются сделать, это проверить, чтобы увидеть определенное приложение установлено на компьютерах в текстовом файле и если его не установлена ​​писать эти имена компьютеров в другой текстовый файл с именем не установленЕсли файл существует на нескольких компьютерах, напишите в txt-файл

мой код до сих пор: Примечание он работает на 75% (пишет только 1 строку в не installed.txt)

Set FSO = CreateObject("Scripting.FileSystemObject") 
Set objtext = FSO.OpenTextFile("C:\Jabber Testing\Asset_List.txt") 

Do Until objtext.AtEndOfStream 
Asset = objtext.ReadLine 
InstallPath = "\\" & Asset & "\C$\Program Files (x86)\Cisco Systems\Cisco Jabber\CiscoJabber.exe" 
If not FSO.FileExists (InstallPath) Then 
outFile="c:\Jabber Testing\Not Installed.txt" 
Set objFile = FSO.CreateTextFile(outFile,True) 
objFile.Write Asset & vbCrLf 
objFile.Close 
End If 
Loop 
objtext.Close 

Может кто-нибудь, пожалуйста, помогите мне с этим иметь промежуточное представление с VBS и нужно перебирать около 2000 компьютеров

ответ

0

Значение True в Set objFile = FSO.CreateTextFile(outFile,True) вызывает the file will be overwritten. Открытый выходной файл доDo Until ... Loop следующим образом:

Set FSO = CreateObject("Scripting.FileSystemObject") 
Set objtext = FSO.OpenTextFile("C:\Jabber Testing\Asset_List.txt") 

outFile="c:\Jabber Testing\Not Installed.txt" 
Set objFile = FSO.CreateTextFile(outFile,True) 

Do Until objtext.AtEndOfStream 
    Asset = objtext.ReadLine 
    InstallPath = "\\" & Asset & _ 
    "\C$\Program Files (x86)\Cisco Systems\Cisco Jabber\CiscoJabber.exe" 
    If not FSO.FileExists (InstallPath) Then 
    objFile.Write Asset & vbCrLf 
    End If 
Loop 
objtext.Close 
objFile.Close