批处理命令无法打开C:\Program Files文件夹

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:47:03
运行批处理后`提示找不到C:\Porgram文件夹
可是这文件夹全名是Program Files``怎么会只提示C:\Porgram这个呢`
我的批处理是这样写的``
:1

@echo off

start C:\Program Files\YUHENG\Client\ty_client.exe

goto 1

望高手指点!!谢谢啦!@!@!@!@!@
最好再帮修改下`改成有条件循环(就是如果该程序存在,就不运行,若不存在则运行)..麻烦啦!
还是不可以啊```

原因如下:
  1、由于dos不支持windows的长文件名,dos下只支持8.3的命名规则,即文件和文件夹名称不能超过8位字符;
  2、当windows的长文件名在dos系统下使用时,会被截取为前6位+~数字的格式;
  3、本例中Program Files这个文件夹名会变更为Progra~1,所以该路径应修改为:

  C:\Progra~1\YUHENG\Client\ty_client.exe

因为CMD不支持长于八个字符的文件名,有空格的和有特殊符号的也不行。
长于八个时可按一楼的说的办,也可以把你的start C:\Program Files\YUHENG\Client\ty_client.exe
改为 start "C:\Program Files\YUHENG\Client\ty_client.exe"
(加上英文的引号),这招适用于以上几个问题

可以这样用
@echo off
start "" "C:\Program Files (x86)\Steam\Steam.exe"
start "" "C:\Program Files (x86)\XiangYou\DolphinQ\Bin\DolphinQ.exe"

start C:\Program Files\YUHENG\Client\ty_client.exe
这一句换成
start C:\Progra~1\YUHENG\Client\ty_client.exe
就可以了。

start C:\Program Files
它认为start C:\Program 这里已经结束了