Board logo

标题: [其他] 批处理如何批量复制多个文件夹里的特定文件到指定目录? [打印本页]

作者: linxin0923    时间: 2008-3-24 16:20     标题: 批处理如何批量复制多个文件夹里的特定文件到指定目录?

本帖最后由 pcl_test 于 2016-7-14 02:46 编辑

文件夹2001里包括41,42,43,44,。。。。60,文件夹,我想复制每个文件夹里的几个文件到其它盘

for /L %%a in(79 1 81)
do
cd %%a
copy guan*.* e:\data
copy kmin*.* e:\data
cd ..
end
pause

请问这么写可不可以啊,for的循坏一次结束,是用 end 么???谢谢
问题太肤浅了,呵呵,因为着急在这请教了!!!!!
作者: foxJL    时间: 2008-3-24 18:07

FOR的格式没有写正确.
正确的应该是:
  1. for /l %%i in (79,1,81) do (
  2. 命令组
  3. )
复制代码

作者: linxin0923    时间: 2008-3-24 18:22

我改了写成

for /l %%a  in(80 1 81)
do
{
cd %%a
copy guan*.* e:\data
copy kmin*.* e:\data
cd ..
}
pause

还是不可以????谢谢!!
作者: foxJL    时间: 2008-3-24 19:19

do () 要和 for 在同一行.要注意,你用的是大括号"{}",在批处理里面是无效.批处理分组只能用小括号"()"
如IF命令的帮助信息,FOR命令格式也相同:

[code]
ELSE 子句必须在 IF 之后出现在同一行上。例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

因为 del 命令需要用一个新行终止,以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

    IF EXIST filename. (del filename.) ELSE echo filename. missing
[/code]
作者: 随风    时间: 2008-3-25 11:55

请楼主先学学dos命令的基本语法。
或直接说出你想干什么,大家给你个代码,不要用代码来说明问题。因为你的代码完全不通。
另:同样的问题,不要开多帖提问,并不是你一个人的问题最重要。其它两帖已经删除。。
作者: linxin0923    时间: 2008-3-25 12:23

我已经说明问题了,
文件夹2001里包括41,42,43,44,。。。。60,文件夹,我想复制每个文件夹里的几个文件到其它盘。程序:
for /l %%i in(080,1,081) do (
cd %%i
copy guan*.*.* e:\data
copy kmin*.*.* e:\data
cd ..
)
pause

程序不通,请大虾指点!!!!
作者: 随风    时间: 2008-3-25 15:13

:
  1. @echo off
  2. for /l %%i in (40 1 60) do (
  3.   copy "%%i\guan*.*" "e:\data"
  4.   copy "%%i\kmin*.*" "e:\data"
  5. )
  6. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2