中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 06:39
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教一个对目录下所有文件执行操作并移动的程序
可打印版本  1,292 / 8
第1楼 meteormiao 发表于 2010-11-25 21:37
新手上路 发帖 7 积分 7
请教一个对目录下所有文件执行操作并移动的程序
我是windows xp系统,现在要实现的是这么一个功能:
有应用程序 C:\a.exe (可以把DOC文件转换成SWF文件)
有两个目录 D:\a和D:\b
我想用a.exe把D盘根目录下所有的DOC文件转换成同文件名的SWF文件并存放到D盘a目录下,然后将所有的DOC文件移动到D盘b文件夹下。

论坛置顶帖我也看了,有一些心得,总觉的差那么一点就突破,呵呵,希望能得到大家的解答,谢谢。
第2楼 qinchun36 发表于 2010-11-25 21:55
高级用户 发帖 400 积分 609
你先写出对一个文件进行转换并移动到批处理,然后再改改,就能用于所有的文件了,编批处理也是一步一步来的。
第3楼 meteormiao 发表于 2010-11-25 22:36
新手上路 发帖 7 积分 7
对一个文件的我能写出来,不过是固定文件名的,我现在关键是目录下的DOC名字不确定,我不知道怎么写对目录下所有DOC进行操作,生产相应的SWF文件
第4楼 qinchun36 发表于 2010-11-25 22:53
高级用户 发帖 400 积分 609
那你运行这个批处理看看,要学好循环才能干跟多的事:
第5楼 meteormiao 发表于 2010-11-26 09:08
新手上路 发帖 7 积分 7
4楼的朋友,我有两点不是太明白
1。这个转换必须用C:\a.exe才能实现,但批处理中没有,那怎么实现转换
2。%%~dpna.swf是什么意思呢?不是太明白
第6楼 meteormiao 发表于 2010-11-26 10:33
新手上路 发帖 7 积分 7
@echo off
for %%a in ("D:\*.doc") do
{
start C:\a.exe
move D:\*.swf D:\a
move D:\*.doc D:\b
}

还是不明白。。。。不明白问题出在哪了

a.exe执行的语句是a.exe 某名.doc -o 某名.swf,我不知道应该怎么来实现

[ Last edited by meteormiao on 2010-11-26 at 10:51 ]
第7楼 meteormiao 发表于 2010-11-26 19:54
新手上路 发帖 7 积分 7
没有高手指点一下吗
第8楼 qinchun36 发表于 2010-11-26 21:07
高级用户 发帖 400 积分 609
关于 d p n 是什么意思,你用 for /? 看看帮助就知道了。
批处理里不是用大括号,而是用小括号。
a.exe要参数,你加上不就行了。试试这个行不行吧
第9楼 meteormiao 发表于 2010-11-27 12:19
新手上路 发帖 7 积分 7
@echo off
for %%a in ("D:\*.doc") do (
C:\a.exe "%%a" -o "D:\b\%%~na.swf"
move "%%a" D:\a\
)

这段代码完全可行。明天两点
1。for循环的 ( 必须接着do写,否则不能执行
2。%%~na,将a扩展为文件名

太感谢qinchun36了,谢谢你的帮助
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023