DOS命令FOR批处理COPY指定目录下文件到指定目录

来源:互联网 发布:淘宝号怎么解绑手机号 编辑:程序博客网 时间:2024/05/21 22:31
这段时间,俺把自己写的Qt小项目的运行结果都截了个图sample.png保存,可是要想更新到git上的时候发现问题了,项目很多个,这要一个个COPY也还是有点工作量的。思来想去,印象中DOS命令应该有这样的功能,于是,俺查了下好久不用的DOS命令。试验修改了几次命令,终于搞定。加上今天俺的 双塔食品SZ002481 涨停,心情极爽!遂记录在此!![20161208STSP](http://img.blog.csdn.net/20161209120215248?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG90MjIyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)for命令其实很简单,for命令帮助如下:对一组文件中的每一个文件执行某个特定命令。FOR %variable IN (set) DO command [command-parameters]  %variable  指定一个单一字母可替换的参数。  (set)      指定一个或一组文件。可以使用通配符。  command    指定对每个文件执行的命令。  command-parameters         为特定命令指定参数或命令行开关。在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式:FOR /D %variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。。。。。。。我们要的就是这个:FOR /D %variable IN (set) DO command [command-parameters]于是按照这个方法写了COPY脚本:
    @ECHO OFF    FOR /D %%I IN (*) DO (    ECHO %%I    IF EXIST "E:\QTP\%%I\sample.png" COPY "E:\QTP\%%I\sample.png" E:\MtQTP-OSCHINA\%%I\    )
运行结果如下:![运行结果](http://img.blog.csdn.net/20161209120309420?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG90MjIyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)完成!还可以在每次修改后运行一次!保持更新!
0 0