中国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
状态 离线
『楼 主』:  【已解决】只知道文件夹名的一部分,如何移动文件夹

假设文件夹名字为 e:\test1234fdsafdsfdsgdag 里面的内容为: 1.txt,2.bmp,3.jpg 只知道test1234,如何移动这整个文件夹及其下面的文件了? move e:\test1234* f:\ 这条因为 move 不支持通配符,所以不行 xcopy e:\test1234* f:\ /s 这条只能够复制空的文件夹,不能够复制整个文件夹的内容 [ Last edited by fly2love on 2010-6-3 at 16:22 ]


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

正在学习中的菜鸟...


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

第一:move 支持通配符,但不允许跨分区移动目录文件夹。 第二:不要总想着*这个字符。*不是万能的。 1,使用findstr匹配该目录:
@echo off
for /f "delims=" %%a in ('dir /b/ad e:^|findstr /b /i "test1234"') do xcopy e:\%%i f:\ /s
2,使用if匹配该目录:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b/ad e:') do set a=%%a&if "!a:~0,8!"=="test1234" xcopy e:\%%i f:\ /s
[ Last edited by Hanyeguxing on 2010-6-3 at 16:02 ]




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





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

恩,我是菜鸟,所以只想着通配符。 findstr 方法比较好,因为test1234如果不在文件夹名字的前面,即不知道整个字符串的具体位置的话,会 比较麻烦。 学习到了 | 管道命令的使用,其实在回复前,我已经想出了办法,由于dir 命令是支持通配符的,俺先dir 输出到一个文件,然后从文件中得到文件夹得名字。 土了,又学到一招管道的操作! 谢谢楼主,可以结贴!
Originally posted by Hanyeguxing at 2010-6-3 15:59: 第一:move 支持通配符,但不允许跨分区移动目录文件夹。 第二:不要总想着*这个字符。*不是万能的。 1,使用findstr匹配该目录:[code]@echo off for / ...


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

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


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



论坛跳转: