• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 188
  • Last Modified:

Checking The Version fo A File Over The Network

Does anyone know of a good way to check the version of a file over my LAN? I have about 100 computers that all need the same version of a particular EXE file. They are all located in the same directory on every computer. Is there a program or way out there to do this easily? The main things i would need to check is the size/date/version info on the file.

Thanks
0
Mohonk
Asked:
Mohonk
  • 5
  • 2
1 Solution
 
CallandorCommented:
I use a product called Synchromagic that can do this: http://www.gelosoft.com/adescr.html
0
 
David LeeCommented:
Here's a pretty simple script that'll do it for you.  It will loop through the names of the computers you provide in arrComputers, connect to the file specified by strPath, and return the Date Created, Size, and Version number.  The version number will only work for executables (exe, dll, ocx).  In this sample it merely displays the information about each file onscreen.  It'd be simple to modify it to write the information into a file instead.  In fact, the script could be modified to create another script or batch file that'd copy a new version to machines that needed an update.  You'd need to include a target version number to comapre against if you wanted to go that route.

To use this script all you need to do is copy and paste the script into a file with an extension of .vbs.  Then edit lines 2 and 3 to supply the names of the computers and the path to the file you want to check.  You'll need to have the required rights on the target computers for this to work.  Then run the script.

    Dim arrComputers, strPath, objFSO, objFile, intCounter
    arrComputers = Array("\\Computer1", "\\Computer2")
    strPath = "\C$\Windows\Notepad.Exe"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For intCounter = 0 To UBound(arrComputers)
        Set objFile = objFSO.GetFile(arrComputers(intCounter) & strPath)
        Wscript.Echo "Computer=" & arrComputers(intCounter)
        Wscript.Echo "DateCreated=" & objFile.DateCreated
        Wscript.Echo "Size=" & objFile.Size
        Wscript.Echo "Version=" & objFSO.GetFileVersion(arrComputers(intCounter) & strPath)
        Wscript.Echo ""
    Next
    Set objFile = Nothing
    Set objFSO = Nothing
0
 
MohonkAuthor Commented:
That works very well thank you. How hard would it be to add a line to dump the information to a txt file?

Thanks!
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
David LeeCommented:
Not hard at all.  I post a revised version with that shortly.
0
 
David LeeCommented:
Darn fingers!  That should be I'll not I.
0
 
David LeeCommented:
Here you go.  This will write the output to a file in the folder the script is run from.  Change Filename.Txt to whatever file name you want to use.

Dim arrComputers, strPath, objFSO, objFile, objTS, intCounter
arrComputers = Array("\\Computer1", "\\Computer2")
strPath = "\C$\Windows\Notepad.Exe"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.CreateTextFile(".\Filename.Txt", True)
For intCounter = 0 To UBound(arrComputers)
    Set objFile = objFSO.GetFile(arrComputers(intCounter) & strPath)
    objTS.WriteLine "Computer=" & arrComputers(intCounter)
    objTS.WriteLine "DateCreated=" & objFile.DateCreated
    objTS.WriteLine "Size=" & objFile.Size
    objTS.WriteLine "Version=" & objFSO.GetFileVersion(arrComputers(intCounter) & strPath)
    objTS.WriteLine ""
Next
objTS.Close
Set objTS = Nothing
Set objFile = Nothing
Set objFSO = Nothing
0
 
MohonkAuthor Commented:
works great. thanks for the help!
0
 
David LeeCommented:
Excellent.  You're welcome!
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now