标题: [文件操作] 批处理不能正确处理有特殊字符的文件参数? [打印本页]
作者: tx12321 时间: 2011-2-10 15:18 标题: 批处理不能正确处理有特殊字符的文件参数?
为了能实现在浏览器中播放本地视频,我写了个批处理来借助 快播 播放器 实现,郁闷的是不能正确处理文件名中包含特殊字符的视频文件,特向大家求助。具体如下:- @echo off
- CLS
- Rem 下面写入一段html代码到网页文件中,由于html对是否换行不敏感所以只用一行echo避免写入次数过多。
- Rem 关键是在param name='URL' value=%1,%1为视频路径(如value=C:\123.rmvb或value="C:\123.rmvb")
- echo ^<html^>^<head^>^<title^>%~f1^</title^>^</head^>^<body^>^<object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="720" height="420" id="QvodPlayer" name="QvodPlayer" onerror="if(window.confirm('请您先安装QvodPlayer软件,然后刷新本页才可以正常播放.')){window.open('http://www.qvod.com/download.htm')}else{self.location='http://www.qvod.com/'}"^>^<param name='URL' value=%1 /^>^<param name='Autoplay' value='1' /^>^</object^>^</body^>^</html^>>%temp%\temp.html
- Rem 用默认浏览器打开生成的页面
- start %temp%\temp.html
复制代码
上述代码的效果是当视频文件用该批处理打开(或拖拽至批处理上松开)时在临时文件夹中生成一个网页文件并用默认浏览器将其打开,打开后网页中调用快播的COM播放控件播放对应视频文件。测试普通的视频文件后正常播放,但是有部分文件所取路径总是不正常,如- 《神医喜来乐》[完全音乐版·网络独家发布].第14集 .mkv
复制代码
一般都是把“第14集”当成了后缀名,后面的“ .mkv”没了。
PS:我用的C:\autorun.inf\qvod.bat打开的E:\kankan\《神医喜来乐》[完全音乐版·网络独家发布].第14集 .mkv
[ 本帖最后由 tx12321 于 2011-2-10 15:27 编辑 ]
作者: abcd 时间: 2011-2-10 17:03
试试把%1用双引号引上
作者: CrLf 时间: 2011-2-10 17:06
参数含空格,可以使用%*
作者: tx12321 时间: 2011-2-13 18:54
因故重装下系统,又正常了,可以正确获取文件路径了,所以觉得可能是系统配置问题(我重装的200多M的纯净版XP)。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |