2017-05-24 62 views
-1

运行批处理文件时遇到错误。它是这样的,我跑test-setup.cmd通过使用此行调用另一个批处理文件test-env.cmd运行批处理文件时遇到错误 - 此时出现意外

test-setup.cmd电话:

call %SCRIPT_HOME%\test-env.cmd 

其中SCRIPT_HOME被设置为SCRIPT_HOME=%~dp0

test-env.cmd有这样一行:

if [%TEST_HOME%] == [] set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final 

运行后出现这样的10消息:

Files\Test\test-02.2.3.Final was unexpected at this time 

请注意,我已经设置了TEST_HOME在系统的环境变量。

请帮忙,谢谢。

+1

我认为你需要把'd:\ Program Files文件\测试\测试02.2.3.Final'在双引号,因为它在它有一个空间 – Andy

+0

谢谢你的答复,我试过了,但它没有奏效 - TEST_HOME =“D:\ Program Files \ Test \ test-02.2.3.Final” 我也尝试用引号括住整行,但它也返回相同的错误 “TEST_HOME = D:\ Program Files \ Test \ test-02.2.3.Final” – mrJDOE3

+1

为什么'将SCRIPT_HOME'设置为'%〜dp0 '? _(在输入13个字符来取代5时有什么好处)_。你说'%TEST_HOME%'是在系统环境中设置的,这意味着'[%TEST_HOME%]'不会是空的,因此新路径不能设置为新值。根据您提供的信息,我不会确信您的其他脚本都足够强大,可以为您提供解决方案。请编辑您的问题,追加两个批处理文件的完整内容。 – Compo

回答

0

您的if命令的语法不正确。如果%TEST_HOME%它会工作没有包含任何空格,但因为它,你必须使用双引号:

if "%TEST_HOME%" == "" set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final 

你要知道,因为你只是测试,看看变量是否存在,这将是很多更有效地做到这一点直接:

if not defined TEST_HOME set TEST_HOME=D:\Program Files\Test\test-02.2.3.Final