用批处理实现向局域网内多台机器中复制文件
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”参数的目的是不询问直接覆盖目标文件。
总公司用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”参数的目的是不询问直接覆盖目标文件。
相关文章推荐
- 批处理实现搜索制定盘下指定文件复制到特定文件夹
- 通过批处理文件实现网络文件复制
- C#利用cmd远程局域网内机器实现文件互传
- Linux下如何实现两个IP机器的文件复制
- 批处理bat实现创建、复制、删除文件及文件夹
- c#实现文件批处理:剪切、复制、删除、改名、分类等
- 利用批处理实现文件复制并压缩的实现代码
- 将本地的一个文件目录复制/移动到局域网上的其他机器上的方法
- java IO流实现文件复制
- java 文件复制功能的实现
- [QT]局域网内机器的自发现实现
- Ubuntu下使用Simba服务实现局域网内文件共享
- 【dos BAT】关于DOS的批处理学习过程 之三 (活学活用复制文件的批处理)
- java字节流实现文件复制
- Linux scp 局域网文件复制
- 使用Python实现从各个子文件夹中复制指定文件的方法
- 用批处理实现垃圾文件清除/自动关机/清除copy病毒
- 利用批处理文件实现 C#中程序自己删除自己
- C语言实现文件复制
- java实现文件的复制,移动