您的位置:首页 > 理论基础 > 计算机网络

用批处理实现向局域网内多台机器中复制文件

2014-03-19 10:02 585 查看
用批处理实现向局域网内多台机器中复制文件

 总公司用Email的方式传过来一个“edp.exe”文件,要求对收银电脑进行升级。方法是覆盖掉所有收银POS机中“c:\pos”下的同名文件。  我部收银电脑有五十多台,全部安装Windows2000 Pro版。如果用手工复制的方式,相当麻烦。经过摸索发现用批处理可以实现批量复制。方法如下:  一、使用此方法的前提条件有以下几点:1、所有的收银电脑在同一个网段;2、所有的收银电脑的IP地址是顺序且规则的。如我处的收银电脑的IP地址分别为192.168.6.101-192.168.6.138、192.168.6.151-192.168.6.155、192.168.6.161、192.168.6.163-192.168.6.168;3、每台收银电脑都是相同的登录名和相同的登录密码,此例中用户名为edp,密码为空4、每台收银电脑都开通的默认共享c$(因为此处我们的操作仅涉及c$),如果没有开通,可以通过修改注册表的方式来开通。具体方法在注册表编辑器regedit中删除掉“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters”中的“AutoShareWks”子键,然后重启电脑。(该方法仅针对Windows2000 Pro版)  二、编辑批处理文件  我们先新建一个文件夹“C:\EDP”,然后将需要复制到其他机台上的文件复制到该文件夹下,此处是“edp.exe”文件。  然后在该文件夹下新建一个文本文件,然后将扩展名改为“.bat”,比如“copyedp.bat”。  在该文本文件添加以下内容并保存: @echo offfor /L %%A in (101,1,138) do net use \\192.168.6.%%A\c$ "" /user:"edp" for /L %%B in (151,1,155) do net use \\192.168.6.%%B\c$ "" /user:"edp" net user \\192.168.6.161\c$ "" /user:"edp"for /L %%C in (163,1,168) do net use \\192.168.6.%%C\c$ "" /user:"edp" rem以上指令是的目的是与目标机器建立连接for /L $$D in (101,1,138) do copy/y c:\edp\edp.exe \\192.168.6.%%D\c$\pos\ for /L $$E in (151,1,155) do copy/y c:\edp\edp.exe \\192.168.6.%%E\c$\pos\copy/y c:\edp\edp.exe \\192.168.6.161\c$\pos\ for /L %%F in (163,1,168) do copy/y c:\edp\edp.exe \\192.168.6.%%F\c$\pos\ rem以上指令是将文件复制到目标机器。  做完以上工作的,只需要双击该文件,即可实现将相应文件复制到目标机器相应文件夹下的功能。  这儿需要注意的有以下几点:1、该批处理中我们用到了循环语句“for”,对该命令不熟悉的朋友可以通过在“开始菜单-运行”中输入“cmd”,然后输入“help for”指令来查看关于该命令的帮助;2、%%符号后面的字母要区分大小写,即%%a不等同于%%A;3、“copy”命令加上“/y”参数的目的是不询问直接覆盖目标文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息