djdidge
asked on
Need an app to multicast files
Hi, Im hosting a LAN party this month. Inherent with such an event is the large volume of cd images that are transfered multiple times to many clients. This takes time and can get irritating.
Does anybody know of a server/client app that will send files to multiple machines silmultaniously, therefore not hammering the server's bandwidth beyond a single transfer.
Any suggestions would be appreciated
DiDGE out............
Does anybody know of a server/client app that will send files to multiple machines silmultaniously, therefore not hammering the server's bandwidth beyond a single transfer.
Any suggestions would be appreciated
DiDGE out............
ASKER
i use Ghost at work... to my knowledge it only restores partitions, essentially cloning pcs.
To my knowledge there is no facility for individual files (i dont think the in-image browser to restore files within an image will work) though as this is the only post i have to go on for now, i will investigate.
Thanks for your post.
DiDGE
To my knowledge there is no facility for individual files (i dont think the in-image browser to restore files within an image will work) though as this is the only post i have to go on for now, i will investigate.
Thanks for your post.
DiDGE
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I cant see how this would distribute to multiple clients, you can only enter one computer path...
the script was not quite the answer, but an ideea of what you could do with a simple .vbs script.
here is something more specific - but also is NOT COMPLETE !!! you must modify the script to meet your needs !!!
--------------------
technical resource
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/swbemservices_execmethodasync.asp
-------------------- the script-------------
' Connect to WMI
set Services = getobject("winmgmts:root\c imv2")
' Obtain the class definition object of a Win32_Process object.
Set oProcess = Services.Get("Win32_Proces s")
' Create the SWbemMethod.InParameters object to hold the input parameter needed
' for the Win32_Process.Create method call. The oProcess.Methods_("Create" ) call
' obtains a class object that defines the correct input parameters
' for the Win32_Process.Create call. The InParameters object is an
' SWbemObject object so SWbemObject.SpawnInstance_ can be called to create it.
Set oInParams = oProcess.Methods_("Create" ).InParame ters.Spawn Instance_
' modification 1
oInParams.CommandLine = "Notepad.exe"
' Create sink to receive event resulting from the ExecMethodAsync call.
set Sink = wscript.CreateObject("Wbem Scripting. SWbemSink" ,"Sink_")
'Call SWbemServices.ExecMethodAs ync with the WMI path Win32_Process.
'modification 4
bDone = false
Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams
' Call the Win32_Process.Create method asynchronously. Set up a
' wait so the results of the method execution can be returned to
' the sink subroutines.
' modification 5
while not bDone
wscript.sleep 1000
wend
' Sink subroutines
sub Sink_OnObjectReady(oOutPar ams, oContext)
wscript.echo "Sink_OnObjectReady subroutine " &VBCR & "ReturnValue = " _
& oOutParams.ReturnValue &VBCR & "ProcessId = " & oOutParams.ProcessId
end sub
sub Sink_OnCompleted(HResult, LastErrorObj, oContext)
wscript.echo "Sink_OnCompleted subroutine, hresult = " & hex(HResult)
bdone = true
end sub
--------------end_of_scrip t--------- -----
modifications:
1. you should replace "notepad.exe" with "cmd /k copy source "
2. create an array that contents all destinations
3. create another array of boolean values initiated with false (these two arrays must have the same length)
4. create a loop:
str_temp = oInParams.CommandLine
for i = 1 to len_array
oInParams.CommandLine = str_temp & destinations[i]
bDone[i] = false
Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams
next
5. create aother loop for monitoring:
while not show_ok
sleep 1000
wend
function show_ok
var_done = true
for i = 1 to len_array
var_done = var_done and bdone[i]
next
end function
something like this !
here is something more specific - but also is NOT COMPLETE !!! you must modify the script to meet your needs !!!
--------------------
technical resource
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/swbemservices_execmethodasync.asp
-------------------- the script-------------
' Connect to WMI
set Services = getobject("winmgmts:root\c
' Obtain the class definition object of a Win32_Process object.
Set oProcess = Services.Get("Win32_Proces
' Create the SWbemMethod.InParameters object to hold the input parameter needed
' for the Win32_Process.Create method call. The oProcess.Methods_("Create"
' obtains a class object that defines the correct input parameters
' for the Win32_Process.Create call. The InParameters object is an
' SWbemObject object so SWbemObject.SpawnInstance_
Set oInParams = oProcess.Methods_("Create"
' modification 1
oInParams.CommandLine = "Notepad.exe"
' Create sink to receive event resulting from the ExecMethodAsync call.
set Sink = wscript.CreateObject("Wbem
'Call SWbemServices.ExecMethodAs
'modification 4
bDone = false
Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams
' Call the Win32_Process.Create method asynchronously. Set up a
' wait so the results of the method execution can be returned to
' the sink subroutines.
' modification 5
while not bDone
wscript.sleep 1000
wend
' Sink subroutines
sub Sink_OnObjectReady(oOutPar
wscript.echo "Sink_OnObjectReady subroutine " &VBCR & "ReturnValue = " _
& oOutParams.ReturnValue &VBCR & "ProcessId = " & oOutParams.ProcessId
end sub
sub Sink_OnCompleted(HResult, LastErrorObj, oContext)
wscript.echo "Sink_OnCompleted subroutine, hresult = " & hex(HResult)
bdone = true
end sub
--------------end_of_scrip
modifications:
1. you should replace "notepad.exe" with "cmd /k copy source "
2. create an array that contents all destinations
3. create another array of boolean values initiated with false (these two arrays must have the same length)
4. create a loop:
str_temp = oInParams.CommandLine
for i = 1 to len_array
oInParams.CommandLine = str_temp & destinations[i]
bDone[i] = false
Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams
next
5. create aother loop for monitoring:
while not show_ok
sleep 1000
wend
function show_ok
var_done = true
for i = 1 to len_array
var_done = var_done and bdone[i]
next
end function
something like this !
ASKER
i will need some time to check this out.... thanks for you post :o)
unfortunately i also have no time to do this modifications (and check them out)... but my guess is that they will work just fine !
i've got another solution...
it's a DOS Batch file... it should work fine in a dos box under Windoze:
------------------
@echo off
FOR /F %i in (comp_list.txt) do cmd /c copy sourcefile %i
------------------
requirements:
comp_list.txt - a text file with the names of computers on each line (comp with path WITHOUT SPACES!!!)
running:
the command parse the comp_list.txt data file and for each line in file executes the command:
cmd /c copy sourcefile %i
if the command is without cmd /c... than is executes sequentially !!!
with the cmd /c parameter... windows will start a new thread for the command and will return the control to the batch (so the next command is ready to go... and so on)
success !!!
it's a DOS Batch file... it should work fine in a dos box under Windoze:
------------------
@echo off
FOR /F %i in (comp_list.txt) do cmd /c copy sourcefile %i
------------------
requirements:
comp_list.txt - a text file with the names of computers on each line (comp with path WITHOUT SPACES!!!)
running:
the command parse the comp_list.txt data file and for each line in file executes the command:
cmd /c copy sourcefile %i
if the command is without cmd /c... than is executes sequentially !!!
with the cmd /c parameter... windows will start a new thread for the command and will return the control to the batch (so the next command is ready to go... and so on)
success !!!
question still open :-?
djdidge,
No comment has been added lately (47 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:
RECOMMENDATION: Award points to danzigk http:#9171990
Please leave any comments here within 7 days.
-- Please DO NOT accept this comment as an answer ! --
Thanks,
turn123
EE Cleanup Volunteer
No comment has been added lately (47 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:
RECOMMENDATION: Award points to danzigk http:#9171990
Please leave any comments here within 7 days.
-- Please DO NOT accept this comment as an answer ! --
Thanks,
turn123
EE Cleanup Volunteer
What server are you running?