中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已解决】批量移动文件夹问题,求救!!
作者:
标题: 【已解决】批量移动文件夹问题,求救!! 上一主题 | 下一主题
fly2love
新手上路





积分 10
发帖 10
注册 2010-6-1
状态 离线
『楼 主』:  【已解决】批量移动文件夹问题,求救!!

问题描述:
1、有一个文件夹列表文件,f:\filelist.txt
    内容如下:
  0313
   3455
   5677
   。。
同时,e:\test1\ 中有许多的文件夹,文件夹的名字分别为:
  0313abdse (文件夹中内容:1.txt 2.txt...)
   3455fdasfd (文件夹中内容:3.txt 4.txt...)
   5677fdsafs (文件夹中内容:4.txt 6.txt...)
  ...
我的任务是移动 根据文件列表filelist.txt 这些文件夹 去 F:\test2\

因为move 移动文件夹时不支持通配符,所以用xcopy命令。
我的代码如下:
@echo off
for /f "usebackq delims=" %%i in ("filelist.txt") do if exist "e:\test1\%%i*" xcopy "e:\test1\%%i*" "F:\test2\" /s
但是根本无法移动文件夹,高手帮忙啊

[ Last edited by fly2love on 2010-6-3 at 16:14 ]

2010-6-3 12:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fly2love
新手上路





积分 10
发帖 10
注册 2010-6-1
状态 离线
『第 2 楼』:  

高手帮忙看看啊!

现在的情况是,文件夹会移动,但是里面的文件由于和通配符不符合,所以不能够移动文件。

2010-6-3 12:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Evangel
初级用户





积分 145
发帖 95
注册 2008-4-12
状态 离线
『第 3 楼』:  


@echo off
rem Created by MakeBat.bat
rem Written by Ev4n
rem On 2010年06月03日 11:58
setlocal enabledelayedexpansion
if not exist e:\test2 md e:\test2
for /f "delims=" %%a in (f:\filelist.txt) do (
set aa=%%a
set bb=e:\test1\!aa!*
if exist !bb! (
xcopy !bb! F:\test2\ /E
)
)


2010-6-3 12:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fly2love
新手上路





积分 10
发帖 10
注册 2010-6-1
状态 离线
『第 4 楼』:  

我怎么试了不对啊,楼上已经自己尝试过了?

这样实现以后,还是只能够移动空的文件夹,对于里面的文件不能够移动。

[ Last edited by fly2love on 2010-6-3 at 15:15 ]

2010-6-3 14:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 5 楼』:  

1,使用if如此通配是允许的,但不推荐,原因是这样的if无法分辨目录还是文件
2,xcopy 不支持如此通配



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-6-3 16:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fly2love
新手上路





积分 10
发帖 10
注册 2010-6-1
状态 离线
『第 6 楼』:  

恩,谢谢高手大哥。

其实就是只知道部分文件夹名如何移动文件夹的问题,已经解决,可以结贴。

谢谢!!

  Quote:
Originally posted by Hanyeguxing at 2010-6-3 16:10:
1,使用if如此通配是允许的,但不推荐,原因是这样的if无法分辨目录还是文件
2,xcopy 不支持如此通配



2010-6-3 16:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: