标题: 请教一个对目录下所有文件执行操作并移动的程序
[打印本页]
作者: meteormiao
时间: 2010-11-25 21:37
标题: 请教一个对目录下所有文件执行操作并移动的程序
我是windows xp系统,现在要实现的是这么一个功能:
有应用程序 C:\a.exe (可以把DOC文件转换成SWF文件)
有两个目录 D:\a和D:\b
我想用a.exe把D盘根目录下所有的DOC文件转换成同文件名的SWF文件并存放到D盘a目录下,然后将所有的DOC文件移动到D盘b文件夹下。
论坛置顶帖我也看了,有一些心得,总觉的差那么一点就突破,呵呵,希望能得到大家的解答,谢谢。
作者: qinchun36
时间: 2010-11-25 21:55
你先写出对一个文件进行转换并移动到批处理,然后再改改,就能用于所有的文件了,编批处理也是一步一步来的。
作者: meteormiao
时间: 2010-11-25 22:36
对一个文件的我能写出来,不过是固定文件名的,我现在关键是目录下的DOC名字不确定,我不知道怎么写对目录下所有DOC进行操作,生产相应的SWF文件
作者: qinchun36
时间: 2010-11-25 22:53
那你运行这个批处理看看,要学好循环才能干跟多的事:
@echo off
for %%a in ("D:\a\*.doc") do (
echo 把 DOC 文件 "%%a"
echo 转换成 "%%~dpna.swf"
echo ========
)
pause
作者: meteormiao
时间: 2010-11-26 09:08
4楼的朋友,我有两点不是太明白
1。这个转换必须用C:\a.exe才能实现,但批处理中没有,那怎么实现转换
2。%%~dpna.swf是什么意思呢?不是太明白
作者: meteormiao
时间: 2010-11-26 10:33
@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 ]
作者: meteormiao
时间: 2010-11-26 19:54
没有高手指点一下吗
作者: qinchun36
时间: 2010-11-26 21:07
关于 d p n 是什么意思,你用 for /? 看看帮助就知道了。
批处理里不是用大括号,而是用小括号。
a.exe要参数,你加上不就行了。试试这个行不行吧
@echo off
for %%a in ("D:\*.doc") do (
C:\a.exe "%%a" -o "D:\b\%%~na.swf"
move "%%a" D:\a\
)
作者: meteormiao
时间: 2010-11-27 12:19
@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了,谢谢你的帮助