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

[其他] 路径加上英文双引号有什么作用

本帖最后由 pcl_test 于 2016-11-8 16:40 编辑
  1. @echo off
  2. title 播放音乐
  3. ping 127.1 -n 1800 >nul
  4. start D:\desktop\"中文歌曲名".mp3
  5. ping 127.1 -n 25 >nul
  6. taskkill /f /im wmplayer.exe
  7. call %0
复制代码
在这里的  start D:\desktop\"中文歌曲名".mp3   为什么“中文歌曲名".mp3  里要用引号??不加引号提示找不到文件或错误的路径,就是不能播放!
而改成  start D:\desktop\中文歌曲名.wma   就不用加引号也能直接打开播放了!!就像有时可以,有时不可以!

然后我有事出去了一会,回来后start D:\desktop\中文歌曲名.mp3 不加引号也能打开播放了。
我很想知道这个引号是怎么一回事,到底应该什么时候加,什么时候不加~~     是因为文件关联的原因或是关于中文字符还是其它导致的??写这个BAT之前,都是用WMP关联所有音频格式的!


[ 本帖最后由 生命接触 于 2008-11-10 19:32 编辑 ]

建议能加就加,这样能极大地避免了路径中有空格的错误.

TOP

2楼正解,问题不在于中文字符,而是要用""闭合含空格的路径。
start d:\program files\test.txt
以上错误。。。
start "d:\program files\test.txt"
出现cmd窗口,标题是d:\program files\test.txt,不是想要的结果。
start "" "d:\program files\test.txt"
OK。。。


更多解释请看start /?

[ 本帖最后由 pusofalse 于 2008-11-10 19:55 编辑 ]
心绪平和,眼藏静谧。

TOP

我已经测试多次,wma格式时,加不加都能打开播放.
当换成MP3格式时就不行,不加引号就打不开..但换成英文名字却没此问题..

没任何操作的情况下,离开电脑一段时间.(20分钟左右) 回来却发现不加引号也没问题了!!立刻换2003EE试(第一次是在2003SE系统上),却又不存在引号问题,一切正常!!XP下也不行.

想知道这个引号在带有中文字符里怎么起作用的.资料说的答案不尽详细,还没能理解..才疏学浅,望不吝赐教!!

TOP

  对路径加引号,是为了兼容路径中含有的特殊字符,比如空格、&。在绝大部分场合,如果路径中有特殊字符出现,则必须用引号把路径括起来,如果没有特殊字符,不加引号也可以,加了引号也不会出错。但是,如果用 start 命令的话,就必须小心了,因为 start 对第一个引号内的内容会识别为窗口标题,所以,需要用 start "" "路径" 的格式,第一个引号对不能省略。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

嗯 ,的确是这样..  

但是我的路径里并没有空格呀,也没特殊字符..并,在wma格式不管什么系统,总是可以的.
换成mp3以后就偶尔可以,偶尔不行.就像pusofalse版主说的,有CMD窗口和标题.打不开.
固然start "" "路径"可以,这也是因为路径里含有空格或特殊字符才需要.如果我把.mp3换成.exe那是否还需要start "" "路径"呢?
而且我的引号并不是加在start后面,是在中文字符里,何解??

[ 本帖最后由 生命接触 于 2008-11-10 20:14 编辑 ]

TOP

回复 6楼 的帖子

运行指定程序,用下面这句:
  1. start "" "程序路径"
复制代码
不管有无空格,是中文还是英文,都用""闭合,这是个非常好的习惯。前面的""必不可少。
心绪平和,眼藏静谧。

TOP

谢谢!!!!!!!!!!!!

TOP

返回列表