[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理不能正确处理有特殊字符的文件参数?

为了能实现在浏览器中播放本地视频,我写了个批处理来借助 快播 播放器 实现,郁闷的是不能正确处理文件名中包含特殊字符的视频文件,特向大家求助。具体如下:
  1. @echo off
  2. CLS
  3. Rem 下面写入一段html代码到网页文件中,由于html对是否换行不敏感所以只用一行echo避免写入次数过多。
  4. Rem 关键是在param name='URL' value=%1,%1为视频路径(如value=C:\123.rmvb或value="C:\123.rmvb")
  5. 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
  6. Rem 用默认浏览器打开生成的页面
  7. start %temp%\temp.html
复制代码
上述代码的效果是当视频文件用该批处理打开(或拖拽至批处理上松开)时在临时文件夹中生成一个网页文件并用默认浏览器将其打开,打开后网页中调用快播的COM播放控件播放对应视频文件。测试普通的视频文件后正常播放,但是有部分文件所取路径总是不正常,如
  1. 《神医喜来乐》[完全音乐版·网络独家发布].第14集 .mkv
复制代码
一般都是把“第14集”当成了后缀名,后面的“ .mkv”没了。

PS:我用的C:\autorun.inf\qvod.bat打开的E:\kankan\《神医喜来乐》[完全音乐版·网络独家发布].第14集 .mkv

[ 本帖最后由 tx12321 于 2011-2-10 15:27 编辑 ]

试试把%1用双引号引上

TOP

参数含空格,可以使用%*

TOP

因故重装下系统,又正常了,可以正确获取文件路径了,所以觉得可能是系统配置问题(我重装的200多M的纯净版XP)。

TOP

返回列表