脚本实现两台windows 机器间多个目录中文件同步到某个特定的目录里
要求:将172.20.26.74 中的test1、test2文件夹里的文件都同步到172.20.26.87机器上的t1文件夹里。
1、两台机器,关闭防火墙,能相互ping通,在172.20.26.87机器上将t1设置共享
在172.20.6.74机器上,输入\\172.20.26.87
2、新建一个txt文本,脚本内容如下:
echo off
copy C:\Users\Administrator\Desktop\test1\ \\172.20.26.87\t1
copy C:\Users\Administrator\Desktop\test2\ \\172.20.26.87\t1
EXIT
其中EXIT 一定要大写,否则bat批处理完毕后不会自动关闭窗口
将txt文件保存为.bat文件,比如copy.bat
双击打开,命令执行完后窗口自动关闭
在172.20.26.87服务器上查看t1目录的同步情况,发现文件已同步过来。
然后再创建windows 任务计划,设定脚本执行时间即可
如果是要拷贝带有当天日期的文件,例如:OFD_F7_361_20220120_05脚本如下
@echo off
echo %date:~0,4%%date:~5,2%%date:~8,2%
copy C:\Users\Administrator\Desktop\test1\*%date:~0,4%%date:~5,2%%date:~8,2%* \\172.20.26.87\t1
copy C:\Users\Administrator\Desktop\test2\*%date:~0,4%%date:~5,2%%date:~8,2%* \\172.20.26.87\t1
EXIT
注释:
%date:~0,4% 取date文件,从第0位开始往后取4位,即年份的阿拉伯数字;
%date:~5,2% 从第5位开始往后取2位,即月份;
%date:~8,2% 从第8位开始往后取2位,即当月的第几天。
“*” dos通配符,所有任意长度的字符,但只限文件名或扩展名;
“?” dos通配符,代替任意一个字符,但只限文件名或扩展名;
“*.*”全局通配符,指任何文件。