[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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 么???谢谢
问题太肤浅了,呵呵,因为着急在这请教了!!!!!

:
  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
复制代码
技术问题请到论坛发帖求助!

TOP

我已经说明问题了,
文件夹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

程序不通,请大虾指点!!!!

TOP

请楼主先学学dos命令的基本语法。
或直接说出你想干什么,大家给你个代码,不要用代码来说明问题。因为你的代码完全不通。
另:同样的问题,不要开多帖提问,并不是你一个人的问题最重要。其它两帖已经删除。。
技术问题请到论坛发帖求助!

TOP

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]

TOP

我改了写成

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

还是不可以????谢谢!!

TOP

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

TOP

返回列表