找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33518|回复: 6

[其他] 批处理如何批量复制多个文件夹里的特定文件到指定目录?

[复制链接]
发表于 2008-3-24 16:20:29 | 显示全部楼层 |阅读模式
本帖最后由 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 么???谢谢
问题太肤浅了,呵呵,因为着急在这请教了!!!!!
发表于 2008-3-24 18:07:45 | 显示全部楼层
FOR的格式没有写正确.
正确的应该是:
  1. for /l %%i in (79,1,81) do (
  2. 命令组
  3. )
复制代码
 楼主| 发表于 2008-3-24 18:22:53 | 显示全部楼层
我改了写成

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

还是不可以????谢谢!!
发表于 2008-3-24 19:19:20 | 显示全部楼层
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:45 | 显示全部楼层
请楼主先学学dos命令的基本语法。
或直接说出你想干什么,大家给你个代码,不要用代码来说明问题。因为你的代码完全不通。
另:同样的问题,不要开多帖提问,并不是你一个人的问题最重要。其它两帖已经删除。。
 楼主| 发表于 2008-3-25 12:23:22 | 显示全部楼层
我已经说明问题了,
文件夹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:19 | 显示全部楼层
:
  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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:53 , Processed in 0.015650 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表