中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 05:28
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » for循环中如何变量连接与如何使用通配符的问题
可打印版本  914 / 8
第1楼 fly2love 发表于 2010-06-02 21:03
新手上路 发帖 10 积分 10
for循环中如何变量连接与如何使用通配符的问题
问题描述:
1、有一个列表文件,名字叫做list.txt
文件列表里面的内容全部都是文件夹的名字,如
file1
file2
file3
2、同时,在E:\image有一批文件,名字分别为:
file1_test1.bmp
file2_test2.bmp
file3_test3.bmp
.....
也就是说这些文件的名字是文件夹的名字加上一部分其他的内容组成的。

我的任务是把每个文件移动到对应的文件夹里面去。
如: E:\image\file1_test1.bmp 移动到 F:\test\file1
E:\image\file2_test2.bmp 移动到 F:\test\file2

我的实现步骤如下:
1、for 循环得到 list.txt 里面的文件夹的名字 %%i
2、利用通配符*实现文件的移动,如
move "E:\image\%%i*.bmp" "F:\test\%%i"

但是这个move语句行不通
与.bmp不能够连接,后面的通配符无法识别
请教高手这句应该怎么写了?
第2楼 Hanyeguxing 发表于 2010-06-02 21:06
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
1,可以使用findstr构建表达规则
2,可以使用对字符串的截取、替换、分隔等后,然后用if进行判断构建规则。示例:
第3楼 fly2love 发表于 2010-06-02 21:10
新手上路 发帖 10 积分 10
谢谢您的回复啦,

不过您好像误会我的意思了,你给的代码是实现判断是否有与文件夹名字相同部分的文件的存在

我的要求其实是在
move "E:\image\%%i*.bmp" "F:\test\%%i"
这一个move 语句的连接问题了?

路径:E:\image、
文件名:\%%i*. (这里有个通配符)
后缀名:.bmp

这3个怎么连接起来放在move语句里面了?


Originally posted by Hanyeguxing at 2010-6-2 21:06:
1,可以使用findstr构建表达规则
2,可以使用对字符串的截取、替换、分隔等后,然后用if进行判断构建规则。示例:
第4楼 Hanyeguxing 发表于 2010-06-02 21:16
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
把你写的代码贴出来。
第5楼 fly2love 发表于 2010-06-02 21:21
新手上路 发帖 10 积分 10


谢谢高手
第6楼 Hanyeguxing 发表于 2010-06-02 21:24
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
如果目录必然存在,则可以不用if not exist "F:\test\%%i\" md "F:\test\%%i"

[ Last edited by Hanyeguxing on 2010-6-2 at 21:34 ]
第7楼 fly2love 发表于 2010-06-02 21:34
新手上路 发帖 10 积分 10
谢谢,已经测试可以了

还是基础不扎实,谢谢!可以结贴了!

Originally posted by Hanyeguxing at 2010-6-2 21:24:
第8楼 Hanyeguxing 发表于 2010-06-03 00:03
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
if exist "a.txt" echo 成功 else echo 失败
这样一条语句中,
如果 存在a.txt 的话的话,运行的结果是:
“成功 else echo 失败”

就是把第一个echo 后面的都显示出来了,应该怎么修改下了?

语法错误,应该写成:
第9楼 Hanyeguxing 发表于 2010-06-03 00:37
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
else的几种格式化:



[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023