无忧启动论坛

标题: 关于批处理 start 和空格的问题. [打印本页]

作者: linee    时间: 2018-4-9 21:58
标题: 关于批处理 start 和空格的问题.
本帖最后由 linee 于 2018-4-11 09:35 编辑

如图第四种情形该如何解决?

test.bat 代码:
  1. echo %1
复制代码


PS: 谢谢各位, 现在有了两个解决办法,
      1, 见 8 楼, 把 bat 编译成 exe.
      2, 见14 楼, 程序名用短名.
作者: 邪恶海盗    时间: 2018-4-9 23:12
你想说啥???
作者: linee    时间: 2018-4-10 11:12
邪恶海盗 发表于 2018-4-9 23:12
你想说啥???

如 1 楼图示,
  1. start "" "程序" "参数"
复制代码

当 "程序" "参数" 同时有双引号时, 会出错.
作者: 邪恶海盗    时间: 2018-4-10 11:22
linee 发表于 2018-4-10 11:12
如 1 楼图示,

当 "程序" "参数" 同时有双引号时, 会出错.

start /wait "" "%ProgramFiles%\7-zip\!Green7z.exe" /ins

一般情况下程序的"运行参数"都是不带双引号的吧?
作者: linee    时间: 2018-4-10 12:23
邪恶海盗 发表于 2018-4-10 11:22
start /wait "" "%ProgramFiles%\7-zip\!Green7z.exe" /ins

一般情况下程序的"运行参数"都是不带双引 ...

比如:
start "" "一个路径有空格的批处理(处理一个路径有空格的文件名).bat" "一个路径有空格的文件名.txt"
作者: 邪恶海盗    时间: 2018-4-10 15:34
linee 发表于 2018-4-10 12:23
比如:
start "" "一个路径有空格的批处理(处理一个路径有空格的文件名).bat" "一个路径有空格的文件名.t ...

不了解,我的印象中%好像也可以包空格...
作者: captain_g    时间: 2018-4-10 15:53
cmd 中 start /? 说:

第一个"" 中放 “在窗口标题栏中显示的标题”,如果只是 "" 应该就是标题为 “空” 吧;

至于后面说到的"",路径中如果有空格、中文,加上 "" 为好或是必须的吧!
作者: plusv    时间: 2018-4-10 15:54
本帖最后由 plusv 于 2018-4-10 16:15 编辑

以逻辑来说,
写法没错,
应该是 MS 的 Bug.

但是若運行 .EXE 結果是正常.
你网上找 BAT 转 EXE 程序试看看.


作者: yfwang0798    时间: 2018-4-10 17:20
start  ""   "命令  参数 "  这种方式
作者: linee    时间: 2018-4-10 19:26
yfwang0798 发表于 2018-4-10 17:20
start  ""   "命令  参数 "  这种方式

试过了, 这样不行.
作者: linee    时间: 2018-4-10 19:27
plusv 发表于 2018-4-10 15:54
以逻辑来说,
写法没错,
应该是 MS 的 Bug.

的确, 把 bat 转成 exe 就可以了.
作者: yfwang0798    时间: 2018-4-10 22:09
start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

试试这个
作者: linee    时间: 2018-4-10 22:56
yfwang0798 发表于 2018-4-10 22:09
start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

试试这个

这个可以, 但是出来个 cmd 窗口, 用 start 本来就是希望关掉这个 cmd 窗口的.
作者: slore    时间: 2018-4-11 00:05
pushd切空格路径或者程序路径用DOT83短名。
作者: linee    时间: 2018-4-11 09:23
slore 发表于 2018-4-11 00:05
pushd切空格路径或者程序路径用DOT83短名。

pushd 不会用, 程序路径用短名可以.




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3