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

[其他] [已解决]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正确识别参数,多谢了

回复 10# ygqiang


    最后可以用的代码:

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

TOP

回复 9# nimo86


    最终的解决代码是?给出完整的。。

TOP

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

TOP

回复 6# nimo86


    请注意观察2楼的命令,除了在有空格的目录上面加上引号之外,start命令后面还有一对引号。

TOP

这样呢
start "" "C:\Program Files (x86)\MyCraft\Real Craft.exe" -ip 1.1.1.1 -user admin_user

TOP

回复 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加不加引号,都不识别了

TOP

回复 4# DAIC


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

windows cannot find ‘-ip'. Make sure you typed the name correctly, and then try again.

TOP

  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 几种加引号的方式都试试
复制代码

TOP

回复 2# flyinnet9


   都放在引号里面也试过,运行后提示整体找不到,不识别

TOP

start "" "C:\Program Files (x86)\MyCraft\Craft.exe -ip 1.1.1.1 -user admin_user"

TOP

返回列表