欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用 Net 命令使局域网文件批量同步更新

程序员文章站 2022-06-16 16:09:48
现在大家都希望有个同步软件可以达到网络目录或者文件的更新来减少自己的工作量,现在网络上也有很多软件可以达到这个目的,象同步专家之类的,但是这些软件需要安装服务端和客户端,客...
现在大家都希望有个同步软件可以达到网络目录或者文件的更新来减少自己的工作量,现在网络上也有很多软件可以达到这个目的,象同步专家之类的,但是这些软件需要安装服务端和客户端,客户端要常驻才能使用,并且占用了一定的资源。

    如下这个批处理利用net命令来进行文件和目录的同步更新.优点就是任何机器都可以做服务器和客户机,而且不占用任何资源.当然缺点也有就是写批处理有点烦^^.

    我首先写出批处理,然后作详细的解释:

复制代码 代码如下:
  net use s: computer-01d 
  attrib -s -h -r s:ghostc:windowscommandxcopy.exe /s /e /y 
  d:ghost s:ghost 
  net use * /delete 
  net use s: computer-02d 
  attrib -s -h -r s:ghost 
  c:windowscommandxcopy.exe /s /e /y d:ghost s:ghost 
  net use * /delete 

  写说明一下net命令的用法,这里采用net命令其中一个参数 net use,如果对其他有兴趣,可以在command窗口打net/?显示其 help 屏幕。

    参数 net use

  作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。

  命令格式:net use [devicename | *] [computernamesharename[volume]]

  [password | *]] [/user:[domainname]username] [[/delete] |

  [/persistent:{yes | no}]]

    参数介绍:

    键入不带参数的net use列出网络连接。

  devicename指定要连接到的资源名称或要断开的设备名称。

  computernamesharename服务器及共享资源的名称。

  password访问共享资源的密码。

  *提示键入密码。

  /user指定进行连接的另外一个用户。

  domainname指定另一个域。

  username指定登录的用户名。

  /home将用户连接到其宿主目录。

  /delete取消指定网络连接。

  /persistent控制永久网络连接的使用。

    如下是简单的例子说明:

    (1)net use e: yfangtemp 将yfangtemp目录建立为e盘

    (2)net use e: yfangtemp /delete 断开连接

    这里我只写两行批处理,用意这两大行网络标识是不同的,其他可以依次类推。我的网吧网络标识是computer-01~computer-n

    也就是网吧电脑的网络名称,可以根据自己实际情况更改。譬如user01~userxx

    开始解释每行命令,实际应用稍后解释。

    一.命令解析。

    1.net use s: computer-01d

    (将computer-01的共享盘d盘进行网络连接,并映射成网络驱动盘s盘。这里d盘要做完全共享,如果不是完全共享文件就复制不过去了。

    提示1:如果怕完全共享被人将文件删除,可以设完全共享密码。假设远程共享盘完全共享密码为123,那么这行命令改成如下:

    net use s: computer-01d 123

    这样访问远程客户机共享盘就没有问题了。提示2:这里为什么要选d盘而不是e盘c盘,是要和同步更新的服务机的盘符对应起来,我要复制本地机d盘下的东西,当然要和d盘对应。)

    2. attrib -s -h -r s:ghost

    (把目标盘下要复制的目标目录下的文件属性(只读、隐藏、系统)三项去掉。提示:如果目标盘没有ghost目录接下来的xcopy命令会自动创建的)

    3. c:windowscommandxcopy.exe /y /s /e d:ghost

    s:ghost(将本地机的d盘下的ghost目录下文件复制到虚拟映射盘s盘下ghost目录,这里的s盘就是computer-01上的d盘。提示1:s盘在执行第一大行后会自动消失,当执行第二大行时computer-02的d盘被虚拟映射成s盘;提示2:/s /e参数含义指把ghost下所有子目录包括空目录全部复制。/y 自动覆盖已有文件)

    4. net use * /delete (断开所有连接)

    2.实际应用

    1.共享盘目录的更新:

    比方现在头痛的传奇,我统一安装在d盘的netgames下的mir目录。把d盘完全共享并设置共享密码为****。当要更新文件和外挂文件时,外挂文件也是放在mir目录下的。这样先调试好一台电脑然后写出如下命令并执行。

    net use s: computer-01d ****

    attrib -s -h -r s:netgamesmir

    c:windowscommandxcopy.exe d:netgamesmir s:netgamesmir

    net use * /delete

    提示:

    1、这里没有用/s/e就是只复制mir根目录下的文件而不复制整个目录
    2、我们也可以在xcopy前插入一句c:windowscommanddel /y s:netgamesmir*.*

    把mir下的文件删除干净后再复制。保险起见可以不写。

    3.computer-01可以依次类推写下去,如computer-02 -03 -04. . . . .

    2.共享目录的更新

    上述我们把传奇目录下文件和外挂更新好后,但是出现一个问题。网管软件的桌面图标没有同步更新,好事作到底,上次我们是把整个盘符作了完全共享,这次我们只把一个目录完全共享并设置密码****。因为我用的是pubwin4网管软件,安装c盘,为了安全起见,还是只共享文件夹,而不是整个盘。pubwin的桌面快捷方式安装在c盘的program files的hitsoft下,将hitsoft完全共享即可,传奇和传奇外挂快捷方式放在目录下的netgames下。批处理如下

   net use s: computer-01hitsoft ****

  attrib -s -h -r s:netgames

  c:windowscommandxcopy.exe c:program~1hitsoftnetgames

  s:netgames /s /y /e

  net use * /delete

    提示:我们可以做的更多,还有删除目录,只要把xcopy转换成deltree就可以了。