Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1027348
  • 博文数量: 179
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 2580
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-10 09:26
文章分类

全部博文(179)

文章存档

2015年(1)

2014年(1)

2012年(1)

2011年(3)

2010年(14)

2009年(11)

2008年(10)

2007年(42)

2006年(96)

我的朋友

分类: WINDOWS

2007-03-16 11:14:28

net命令使局域网文件同步更新
【简 介】现在大家都希望有个同步软件可以达到网络目录或者文件的更新来减少自己的工作量,现在网络上也有很多软件可以达到这个目的,象同步专家之类的,但是这些软件需要安装服务端和客户端,客户端要常驻才能使用,并且占用了一定的资源。 
 
现在大家都希望有个同步软件可以达到网络目录或者文件的更新来减少自己的工作量,现在网络上也有很多软件可以达到这个目的,象同步专家之类的,但是这些软件需要安装服务端和客户端,客户端要常驻才能使用,并且占用了一定的资源。
  如下这个批处理利用net命令来进行文件和目录的同步更新.优点就是任何机器都可以做服务器和客户机,而且不占用任何资源.当然缺点也有就是写批处理有点烦^^.
  我首先写出批处理,然后作详细的解释:
  net use S:
  attrib -s -h -r S:\ghostC:\WINDOWS\COMMAND\Xcopy.exe /s /e /y
  D:\ghost S:\ghost
  net use * /delete
  net use S:
  attrib -s -h -r S:\ghost
  C:\WINDOWS\COMMAND\Xcopy.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-01的共享盘d盘进行网络连接,并映射成网络驱动盘s盘。这里d盘要做完全共享,如果不是完全共享文件就复制不过去了,到时不要耍菜刀追我^^。
  提示1:如果怕完全共享被人将文件删除,可以设完全共享密码。假设远程共享盘完全共享密码为123,那么这行命令改成如下:
  
  net use S:
  123。
  这样访问远程客户机共享盘就没有问题了。提示2:这里为什么要选d盘而不是e盘c盘,是要和同步更新的服务机的盘符对应起来,我要复制本地机d盘下的东西,当然要和d盘对应。)
  2. attrib -s -h -r S:\ghost\
  (把目标盘下要复制的目标目录下的文件属性(只读、隐藏、系统)三项去掉。提示:如果目标盘没有ghost目录接下来的xcopy命令会自动创建的)
  3. C:\WINDOWS\COMMAND\Xcopy.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: ****
  attrib -s -h -r S:\netgames\mir
  C:\WINDOWS\COMMAND\Xcopy.exe D:\netgames\mir S:\netgames\mir
  net use * /delete
  提示:1。这里没有用/s/e就是只复制mir根目录下的文件而不复制整个目录
  2.我们也可以在xcopy前插入一句C:\WINDOWS\COMMAND\del /y
  S:\netgames\mir\*.*
  把mir下的文件删除干净后再复制。保险起见可以不写。
  3.\\computer-01可以依次类推写下去,如computer-02 -03 -04. . . . .
  2.共享目录的更新
  上述我们把传奇目录下文件和外挂更新好后,但是出现一个问题。网管软件的桌面图标没有同步更新,好事作到底,上次我们是把整个盘符作了完全共享,这次我们只把一个目录完全共享并设置密码****。因为我用的是pubwin4网管软件,安装c盘,为了安全起见,还是只共享文件夹,而不是整个盘。Pubwin的桌面快捷方式安装在c盘的program files的hitsoft下,将hitsoft完全共享即可,传奇和传奇外挂快捷方式放在目录下的netgames下。批处理如下
  net use S: ****
  attrib -s -h -r S:\netgames
  C:\WINDOWS\COMMAND\Xcopy.exe c:\program~1\hitsoft\netgames
  S:\netgames /s /y /e
  net use * /delete
  提示:我们可以做的更多,还有删除目录,只要把xcopy转换成deltree就可以了。
欢迎访问百极网络中心()转载请保留
 
我的实际应用, 加了 /D 参数, 用于对照日期的更新, 如果日期不改变, 就不覆盖文件, 日期更改或增加, 就复制到目标文件夹, 实现真正的同步更新
xcopy /d /y c:\temp\*.txt c:\temp1
 
 
xcopy help
复制文件和目录树。

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
                           [/EXCLUDE:file1[+file2][+file3]...]

  source       指定要复制的文件。
  destination  指定新文件的位置和/或名称。
  /A           只复制有存档属性集的文件,
               但不改变属性。
  /M           只复制有存档属性集的文件,
               并关闭存档属性。
  /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
               如果没有提供日期,只复制那些源时间
               比目标时间新的文件。
  /EXCLUDE:file1[+file2][+file3]...
               指定含有字符串的文件列表。每一个字符串
               必须在文件的单独行中。如果有任何
               字符串与要被复制的文件的绝对路径
               相符,那个文件将不会得到复制。
               例如,指定如 \obj\ 或 .obj 的字符串会排除
               目录 obj 下面的所有文件或带有
               .obj 扩展名的文件。
  /P           创建每个目标文件前提示。
  /S           复制目录和子目录,除了空的。
  /E           复制目录和子目录,包括空的。
               与 /S /E 相同。可以用来修改 /T。
  /V           验证每个新文件。
  /W           提示您在复制前按键。
  /C           即使有错误,也继续复制。
  /I           如果目标不存在,又在复制一个以上的文件,
               则假定目标一定是一个目录。
  /Q           复制时不显示文件名。
  /F           复制时显示完整的源和目标文件名。
  /L           显示要复制的文件。
  /G           允许将没有经过加密的文件复制到
               不支持加密的目标。
  /H           也复制隐藏和系统文件。
  /R           覆盖只读文件。
  /T           创建目录结构,但不复制文件。
               不包括空目录或子目录。/T /E 包括
               空目录和子目录。
  /U           只复制已经存在于目标中的文件。
  /K           复制属性。一般的 Xcopy 会重置只读属性。
  /N           用生成的短名复制。
  /O           复制文件所有权和 ACL 信息。
  /X           复制文件审核设置(隐含 /O)。
  /Y           复制文件审核设置(隐含 /O)。
               现存目标文件。
  /-Y          导致提示以确认改写一个
               现存目标文件。
  /Z            用重新启动模式复制网络文件。

命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 改写。
阅读(1049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~