2011-12-30 85 views
0

我根据自己的需要修改了zf.bat文件的代码,但它会生成此错误 “发生错误!操作”*“不是有效的操作“关于所有命令, 我该如何解决这个问题? 下面是批处理文件的代码:Zend Framework - zf.bat文件生成命令行错误

@ECHO off 
REM Zend Framework 
REM 
REM LICENSE 
REM 
REM This source file is subject to the new BSD license that is bundled 
REM with this package in the file LICENSE.txt. 
REM It is also available through the world-wide-web at this URL: 
REM http://framework.zend.com/license/new-bsd 
REM If you did not receive a copy of the license and are unable to 
REM obtain it through the world-wide-web, please send an email 
REM to [email protected] so we can send you a copy immediately. 
REM 
REM Zend 
REM Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) 
REM http://framework.zend.com/license/new-bsd  New BSD License 


REM Test to see if this was installed via pear 
SET [email protected] 
SET TMPZTMPZTMP=%ZTMPZTMPZTMPZ%[email protected] 
REM below @[email protected] 
FOR %%x IN ("@[email protected]") DO (if %%x=="%TMPZTMPZTMP%" GOTO :NON_PEAR_INSTALLED) 

GOTO PEAR_INSTALLED 

:NON_PEAR_INSTALLED 
REM Assume php.exe is executable, and that zf.php will reside in the 
REM same file as this one 
SET PHP_BIN=php.exe 
SET PHP_DIR=%c:\xampp\php 
GOTO RUN 

:PEAR_INSTALLED 
REM Assume this was installed via PEAR and use replacements php_bin & php_dir 
SET [email protected][email protected] 
SET [email protected][email protected] 
GOTO RUN 

:RUN 
SET ZF_SCRIPT=%PHP_DIR%\zf.php 
"%PHP_BIN%" -d safe_mode=Off -f "%ZF_SCRIPT%" -- %* 

我认为错误是在最后一行的最后一个字符。

编辑:原文件

@ECHO off 
REM Zend Framework 
REM 
REM LICENSE 
REM 
REM This source file is subject to the new BSD license that is bundled 
REM with this package in the file LICENSE.txt. 
REM It is also available through the world-wide-web at this URL: 
REM http://framework.zend.com/license/new-bsd 
REM If you did not receive a copy of the license and are unable to 
REM obtain it through the world-wide-web, please send an email 
REM to [email protected] so we can send you a copy immediately. 
REM 
REM Zend 
REM Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) 
REM http://framework.zend.com/license/new-bsd  New BSD License 


REM Test to see if this was installed via pear 
SET [email protected] 
SET TMPZTMPZTMP=%ZTMPZTMPZTMPZ%[email protected] 
REM below @[email protected] 
FOR %%x IN ("@[email protected]") DO (if %%x=="%TMPZTMPZTMP%" GOTO :NON_PEAR_INSTALLED) 

GOTO PEAR_INSTALLED 

:NON_PEAR_INSTALLED 
REM Assume php.exe is executable, and that zf.php will reside in the 
REM same file as this one 
SET PHP_BIN=php.exe 
SET PHP_DIR=%~dp0 
GOTO RUN 

:PEAR_INSTALLED 
REM Assume this was installed via PEAR and use replacements php_bin & php_dir 
SET [email protected][email protected] 
SET [email protected][email protected] 
GOTO RUN 

:RUN 
SET ZF_SCRIPT=%PHP_DIR%\zf.php 
"%PHP_BIN%" -d safe_mode=Off -f "%ZF_SCRIPT%" -- %* 

编辑的代码:产生错误的快照通过一个命令 enter image description here

+0

如果有人可以解决,那么我会感激他...... – Krishna 2011-12-30 14:22:12

+0

如果你还显示了什么原始.BAT文件看起来像,我__可以找出如何解决它。 – dbenham 2011-12-30 14:29:05

+0

咦? - 你说你修改了BAT文件。我需要知道你做了什么改变。这就是为什么我要求您在进行更改之前提供一份文件副本。 – dbenham 2011-12-30 14:35:58

回答

0

更改这条线在你修改后的代码:

SET PHP_DIR=%c:\xampp\php 

对此:

SET "PHP_DIR=c:\xampp\php" 

编辑 - 我只是意识到在你原来的修改额外%是越来越解析器反正剥离出来,因此上述建议不能帮助。


最后一行恢复到原来的形状与最终%* - 这应该扩大到所有命令行参数。但它不适合你。要找出原因,请在恢复的最后一行之前立即添加新行ECHO ON

现在运行脚本,看看最后一行是如何解释的。如果你无法弄清楚为什么它不起作用,请发布结果。

+0

它不工作! – Krishna 2011-12-30 15:26:34

+0

我得到这个输出:“php.exe”-d safe_mode =关-f“c:\ xampp \ php \ zf.php” - *发生错误操作'*'不是有效的操作。 – Krishna 2011-12-30 17:15:08

+0

使用我的方法,即%1%2%3 ...而不是%*满足了我在netbeans中创建zend项目树形结构的需求。所以,现在没有问题。 – Krishna 2011-12-30 17:36:00