在同一网络中执行两个批处理文件

时间:2015-10-07 15:09:02

标签: batch-file synchronization

我需要同时在同一网络中的两台不同的PC上执行任务。如何通过主批处理文件在2台PC中触发单个批处理文件。

2 个答案:

答案 0 :(得分:2)

当“同时”表示“加/减某些(dozend)秒”(取决于不同系统的时间差异)时,计划任务就可以了。

如果要同步(加上一些(dozend)毫秒,请使用waitfor命令。(有关详细信息,请参阅waitfor /?)。

注意,这不会在其他计算机上启动任何内容,它只会发送触发信号。如果另一端没有接收者(waitfor <same trigger string>),则不会做任何事情)

示例:

Slave.bat(在其他计算机上运行):

@echo off
echo waiting for Signal to continue...
waitfor /t 300 StartNow
if %errorlevel%==0 (
  echo Signal received, continuing.
  goto :continue
) 
echo Timeout, no Signal received.
Exit /b
:continue
echo I'm doing stuff now.

Master.bat

@echo off
echo sending Signal to all Computers in the Network...
REM slave.bat should be running now on other Computer(s)
REM because else they don't wait for the signal
waitfor /si StartNow
echo Signal sent.

要尝试,您还可以在同一台计算机上使用多个cmd窗口,而不是使用不同的计算机。

答案 1 :(得分:0)

我看到了多种方法:

1)在Windows中创建计划任务(我假设您使用的是Windows)

2)使用一些远程执行技术,如sysseternals的psexec

3)启动程序并让它们等待通过网络发送的信号,也许已经足够检查共享驱动器上的某些文件了