Board logo

标题: [其他] [已解决]start 运行的程序后加参数不识别 [打印本页]

作者: nimo86    时间: 2015-12-18 10:08     标题: [已解决]start 运行的程序后加参数不识别

本帖最后由 nimo86 于 2015-12-24 16:10 编辑

情况是这样:
我想用批处理文件批量打开一个图形界面程序,不同的用户名依次登陆
“C:\Program Files (x86)\MyCraft\Craft.exe" "-ip 1.1.1.1" "-user admin_user"
“C:\Program Files (x86)\MyCraft\Craft.exe" "-ip 1.1.1.2" "-user admin_user"
“C:\Program Files (x86)\MyCraft\Craft.exe" "-ip 1.1.1.3" "-user admin_user"
都放批处理后运行发现要运行一个后,会等待图形界面退出后才运行第二个

找到的方式是用start

遇到问题是,后面的-ip -user那些参数不被正确识别了,加不加引号都不识别
start “C:\Program Files (x86)\MyCraft\Craft.exe" "-ip 1.1.1.1" "-user admin_user"

请问各位高手,有什么方式能不等待子进程或者用start正确识别参数,多谢了
作者: flyinnet9    时间: 2015-12-18 10:12

start "" "C:\Program Files (x86)\MyCraft\Craft.exe -ip 1.1.1.1 -user admin_user"
作者: nimo86    时间: 2015-12-18 10:18

回复 2# flyinnet9


   都放在引号里面也试过,运行后提示整体找不到,不识别
作者: DAIC    时间: 2015-12-18 10:48

  1. @echo off
  2. pushd "C:\Program Files (x86)\MyCraft"
  3. start Craft.exe "-ip 1.1.1.1" "-user admin_user"
  4. start Craft.exe -ip 1.1.1.2 -user admin_user
  5. start Craft.exe "-ip 1.1.1.3 -user admin_user"
  6. REM 几种加引号的方式都试试
复制代码

作者: nimo86    时间: 2015-12-18 11:10

回复 4# DAIC


    多谢建议,尝试了,依然提示:

windows cannot find ‘-ip'. Make sure you typed the name correctly, and then try again.
作者: nimo86    时间: 2015-12-18 12:21

回复 4# DAIC

我发现问题所在了,因为exe的名字里面有空格,所以我必须得加上双引号,
一旦在exe的名字上加上双引号,就无法识别后面的参数了

比如
    start ”Real Craft.exe“ -ip 1.1.1.2 -user admin_user

如果是重命名一下,则可以,
start Craft.exe -ip 1.1.1.2 -user admin_user

但是我不能改应用程序的名字啊,也就是说
应用程序的名字肯定有空格,
有空格除了双引号,还有 什么解决办法吗,因为一加双引号,无论后面的-ip加不加引号,都不识别了
作者: pcl_test    时间: 2015-12-18 13:05

这样呢
start "" "C:\Program Files (x86)\MyCraft\Real Craft.exe" -ip 1.1.1.1 -user admin_user
作者: DAIC    时间: 2015-12-18 13:57

回复 6# nimo86


    请注意观察2楼的命令,除了在有空格的目录上面加上引号之外,start命令后面还有一对引号。
作者: nimo86    时间: 2015-12-20 10:08

感谢各位,加引号的可以用了
印象中尝试过加“”没好使,记得每一个start还新开了一个cmd的对话框,可能当时尝试的时候哪里弄错了
作者: ygqiang    时间: 2015-12-20 12:08

回复 9# nimo86


    最终的解决代码是?给出完整的。。
作者: nimo86    时间: 2015-12-24 16:09

回复 10# ygqiang


    最后可以用的代码:

for /f  %%i in (ip.txt) do ( start "" "%path%" -ip %%i -user %name% -password %pw%
echo Open %%i command is performed.)




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2