|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『楼 主』:
在局域网内如何复制文件?
请大家多多指教,我是新手.
在局域网内有一个文件夹叫产品图片.里面放有很多的图片,会经常更新,然后其它电脑经常从这个文件夹中把图片复制到本地盘,如何用批处理把这些图片复制过来,并且只复制本地盘中没有的图片.也就是新图片.(有了的图片不用复制.)图片很多,有四五千张,如果今天只更新了三张图,执行批处理时只复制这三张,不要全部都复制,不然的话这样要很久.
|
|
2007-4-23 00:39 |
|
|
bjsh
银牌会员
积分 2000
发帖 621
注册 2007-1-1
状态 离线
|
『第
2 楼』:
搜索一下吧;前面都有问过了;
至于你的问题的个别处就是 只更新新的图片;
用 if not exist就可以了
|
|
2007-4-23 01:17 |
|
|
flyinspace
银牌会员
积分 1206
发帖 517
注册 2007-3-25
状态 离线
|
『第
3 楼』:
使用 XCOPY /d 用这个就可以做到。。
只复制比目标文件新的文件。
不过首先。你要把他的这个盘映射为本地盘符。。。这样方便很多。。。
可以使用 net use z: 共享路径 来添加
也可以右键我的电脑来添加
|
知,不觉多。不知,乃求知 |
|
2007-4-23 02:27 |
|
|
snowbbbb
初级用户
积分 118
发帖 42
注册 2006-9-14
状态 离线
|
『第
4 楼』:
是不是这样的?
if not exist 主机路径\*.jpg 本机路径\图片库\
|
|
2007-4-23 03:09 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
5 楼』:
我是菜鸟,搜索过,没有找到,请指教
|
|
2007-4-23 21:34 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
6 楼』:
我用这个不行的,会更新所有的图片
D:
cd database2007
cd 产品图片
copy \\super-server\公用文件\产品图片\*.* /d/y
|
|
2007-4-23 21:42 |
|
|
htysm
高级用户
积分 866
发帖 415
注册 2005-12-4
状态 离线
|
『第
7 楼』:
代码暂时没有条件测试,如果有错误请跟帖。
---------------------------------------
@echo off
setlocal enabledelayedexpansion
net use \\super-server\ipc$ /u:administrator || (echo 连接不成功按任意键退出。& pause>nul & exit)
net use z: \\super-server\公用文件\产品图片 || echo 磁盘映射出现错误退出。& pause>nul & exit)
echo.&echo 已成功将服务器上的产品图片文件映射为本地Z盘:
set num=0
echo.&echo ==================== 正在更新,请耐心等待 ======================
for /f "delims=" %%i in ('dir /s/b z:\*.jpg') do (
if not exist d:\产品图片\%%~nxi (copy "%%i" d:\产品图片\ && set /a num+=1)
)
echo.&echo.&echo
if not "!num!" == "0" echo ====== 图片更新完毕,本次共更新图片!num!张 ====== else echo 没有需要更新的图片。
net use \\super-server\ipc$ /delete
pause>nul
|
欢迎你到批处理爱好者联盟QQ群:18023953 |
|
2007-4-24 00:07 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
8 楼』:
提示有错误:
发生系统错误1219
不充许一个用户使用一个以上用户名与服务器或共享资源的多重边接.中断与此服务或共享资源的所有连接.然后再试一次.....
|
|
2007-4-24 02:56 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
9 楼』:
没想到能写出那么好的批处理来,佩服
|
|
2007-4-24 03:01 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
10 楼』:
因我是用admin用户名登陆windows的,所以我把administrator改为admin,运行后就出现以下信息:
本地名称
远程名称 \\super-server\ip$
资源类型 IPC
状态 OK
#打开 0
#连接 1
命令运行成功.
命令运行成功
然后就没反应了
我的操作系统为windows server 2003
[ Last edited by laiguiyou on 2007-4-23 at 02:42 PM ]
|
|
2007-4-24 03:07 |
|
|
htysm
高级用户
积分 866
发帖 415
注册 2005-12-4
状态 离线
|
『第
11 楼』:
请把“产品图片”这个文件夹设置成共享文件夹。然后再试试。
|
欢迎你到批处理爱好者联盟QQ群:18023953 |
|
2007-4-24 04:36 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
|
2007-4-24 04:40 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
13 楼』:
还有,我把前面那段建立网络影射和结尾取消网络影射去掉,执行后,不管有没有更新的图片,也全部更新,并且结束后,不能显示更新图片数量.显示更新图片num张
|
|
2007-4-24 04:51 |
|
|
htysm
高级用户
积分 866
发帖 415
注册 2005-12-4
状态 离线
|
『第
14 楼』:
下列代码已测试过,在我的局域网中可以成功执行。
------------------------------------------------------------------------------------------------------------
@echo off
dir z:>nul 2>nul || (net use z: \\super-sever\公用文件\产品图片 || (echo 磁盘映射出现错误退出。& pause>nul & exit))
setlocal enabledelayedexpansion
set num=0
set share_=d:\产品图片
echo.&echo ==================== 正在更新,请耐心等待 =====================
for /f "delims=" %%i in ('dir /s/b z:\*.jpg') do (
if not exist %share_%\%%~nxi (copy "%%i" %share_%\ && set /a num+=1)
)
echo.&echo.&echo
net use z: /delete >nul 2>nul
if not "!num!" == "0" (
echo ====== 图片更新完毕,本次共更新图片!num!张 ======
) else echo 本次没有需要更新的图片。
echo.&echo.&echo 按任意键退出。
pause>nul
[ Last edited by htysm on 2007-4-24 at 06:37 AM ]
|
欢迎你到批处理爱好者联盟QQ群:18023953 |
|
2007-4-24 06:18 |
|
|
laiguiyou
初级用户
积分 28
发帖 12
注册 2007-4-22
状态 离线
|
『第
15 楼』:
可以了,非常的谢谢.辛苦了.我可以交你这个朋友吗.QQ:136352354
|
|
2007-4-24 08:47 |
|