我需要启动一个程序,并将几个参数移交给.exe,但不要将其与.bat-File一起使用。
我还尝试设置包括“”中的参数在内的整个路径,但无济于事。
我的错误在哪里?如果使用
"C:\Program Files (x86)\Software\ameise.exe" --server=(local)\FILES --database=baset_1 --dbuser=sa --dbpass=asdasd+13da# --templateid=EXP6 --outputfile=C:\Users\Administrator\Documents\DATA.csv
在.bat文件中不使用start“”命令而没有if条件的情况下,它完全可以正常工作。 同样,if条件仅在“回声测试”下才能完美运行。 但是,在条件中添加程序行将使.bat文件启动后立即关闭CMD窗口。
我的错误在哪里? 坦克帮你!
@echo off
set var1=1
set var2=1
IF %var1%==1 (
start "" "C:\Program Files (x86)\Software\ameise.exe" --server=(local)\FILES --database=baset_1 --dbuser=sa --dbpass=asdasd+13da# --templateid=EXP6 --outputfile=C:\Users\Administrator\Documents\DATA.csv
)
IF %var2%==1 (
echo test
)
Pause
答案 0 :(得分:1)
在运行单个命令时,请删除括号,尽管它们不会造成伤害。然后将if语句命令放在一行中。
在equ
上使用==
可以进一步了解if /?
。另外,我总是将if变量用双引号引起来。.以防万一一些令人恐惧的空白出现在其中。
所以请尝试一下,未经测试,因为我没有您的命令可用
@echo off
set var1=1
set var2=1
if "%var1%" equ "1" start "" /wait "C:\Program Files (x86)\Software\ameise.exe" --server=(local)\FILES --database=baset_1 --dbuser=sa --dbpass=asdasd+13da# --templateid=EXP6 --outputfile=C:\Users\Administrator\Documents\DATA.csv
if "%var2%" equ "1" echo test
Pause
编辑,如果需要按顺序将/wait
添加到启动命令中。参见上面的代码编辑。
答案 1 :(得分:0)
尝试一下,看看是否可行。
@echo off
set var1=1
set var2=1
if "%var1%" == "1" (
"C:\Program Files (x86)\Software\ameise.exe" --server=^(local^)\FILES --database=baset_1 --dbuser=sa --dbpass=asdasd+13da# --templateid=EXP6 --outputfile=C:\Users\Administrator\Documents\DATA.csv
)
if "%var2%" == "1" (
echo.Test
)
pause>nul