[win]批处理速成笔记
在我们的flex在线教学网站项目中,需要把ppt,doc等文档转换成swf文档,或把视频都转换成flv格式,这样才能使用fms以流媒体形式播放。但是我们又不想自己手动转,想让这些文件在上传之后自动转换。起初想用php实现,因为php有exec()函数,可以直接调用本地的exe文件,但是由于控制方面出现了一些很奇怪的事,而且php手册里关于exec()还有这样一个注释:如果你用此函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起。这个问题我也遇到了,网上没有人解决。最后多方面因素,我放弃了。开始转向其它方法。于是就有了bat方法。
先看了这样一篇文章:bat 批处理命令 文件 类型 语法 格式 应用 详解
总结及补充:
- @符号要活学活用
- echo off
- for /l %%i in (1,0,2) do ...
- 延迟一段时间再运行,由于choice在xp以后就不支持了,所以我选择用ping -n 2 127.0.0.1>nul
- pause
- 使用goto制造循环
- echo xxx>1.txt
使用vbs脚本调用bat可以去掉bat运行时的黑框,vbs代码如下:
set ws=wscript.createobject("wscript.shell")
ws.run "C:\build.bat /start",0
ws.run "C:\build.bat /start",0
还有一个vbs例子,也记下吧,别忘了~:
Do
msgbox("Hello World")
WScript.Sleep 3000
Loop
这个例子可以实现大概每3秒弹一个helloworld的对话框。
我还用了一个软件ha_quick,可以把bat文件转成exe。百度一下就可以下载了。
本帖属于笔记,因为并不想在批处理和vbs脚本方面深入,所以,这些知识足够我用的。请大侠不要见笑。