创新路
我们一直在努力

批量复制一个文件到不同站点下指定目录(简易批处理脚本待优化)

  

    今天发现服务器上所有织梦站点下突然丢失了一个文件,路径是网站根目录下面/admin/template/view/mod_menu_item/  的 admin_list.php 这个文件都丢失了。

   发现这个问题后,第一时间我查看了服务器上所有的杀毒软件中的隔离文件,因为觉得有可能是误杀导致的。

经过一番查看,并没有在隔离文件中找到这个文件。那么此时的问题就是需要把这个admin_list.php文件拷贝到不同站点下的/admin/template/view/mod_menu_item/目录下。

   看了一下站点数量当时心里就是一凉,如果靠手动拷贝肯定是不行的。

   此时马上就想到能不能通过一个简单的批处理脚本完成这项工作呢?但是由于本人批处理水平有限,于是开始百度参考他人的批处理脚本,但是一番查找下来,发现类似情况的太少,而且很多都看不太明白。

   经过一番实验,发现要拷贝到指定的路径并不是太难,用xcopy即可完成拷贝,需要解决的问题就是路径问题。因为/admin/template/view/mod_menu_item/这段路径都是相同的,那我们需要解决的问题就是这段路径前面的站点文件夹路径。

突然发现,我们能不能先用dir命令先将目录下的文件名输出到一个txt文件中呢?于是,马上试了一下。又发现输出的内容里有多余的内容,但由于中间有空格,于是我使用了Excel表将无用参数剔除掉,此时就只剩下了站点目录名了。

   此时,即可使用一个for循环遍历这个txt文件里的目录名,再将变量插入到路径中,即可完成复制工作。

   实话说,这个方法并不是太好,但是本人批处理能力有限,而且这个方法足以解决目前的问题,于是就使用了这个笨办法。还有很多需要优化的地方,欢迎大家指正。

   此处纯属分享,大神请忽略,谢谢!

以下是批处理内容:

@echo off

for /f %%i in (test.txt) do (

xcopy D:\jianzhan\admin\template\view\mod_menu_item\admin_list.php C:\webroot\%%i\web\admin\template\view\mod_menu_item\

)

echo 复制完成!

pause

客官点个赞呗! (1)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机