对于批处理文件(来自CakePHP的cake.bat),环境变量不工作(win7)


Environmental variable not working (Win 7) for a batch file (cake.bat from CakePHP)

我正在开始使用CakePHP,我试图设置我的Windows 7(64位)环境变量PATH来识别C:'xampp'htdocs'cakeblog'cake'console'cake.bat当使用命令提示符时,在任何地方。

我已经为php.exe设置了环境PATH变量,它工作得很好。然而,当我设置它时,当我将路径添加到系统变量时,它不起作用。出于某种原因,我必须将其添加到user变量中才能使其工作。我不知道为什么会这样。

我试着为"C:'xampp'htdocs'cakeblog'cake'console"做同样的事情,但由于某些原因,它在系统或用户变量中都不起作用。我正在重新启动命令提示符以使更改广播生效,但它仍然不起作用,而它适用于php.exe。是。bat文件不同的处理或什么?我无法启动CakePHP烘焙过程!

任何想法如何得到这个路径包括,以便我可以访问cake.bat?创建另一个.bat文件(如runcake.bat)来直接运行C:'xampp'htdocs'cakeblog'cake'console'cake.bat不是一个选项,因为cake.bat会在相对于运行位置的文件夹中创建文件。所以,如果我去C:'xampp'htdocs'cakeblog'cake'console并运行cake.bat,它会尝试创建文件为C:'xampp'htdocs'cakeblog'cake'console作为它的根目录,当我真的想要文件创建在C:'mysite..蒂娅!

我的用户路径如下。Cake.bat位于第二个目录。

C:'xampp'php; C:'xampp'htdocs'cakeblog'cake'console

更新:我只是放弃了这种方法,只是写了一个名为setpaths.bat的短批处理文件,其中包括"setpath =C:'xampp'htdocs'cakeblog'cake'console;C:'xampp'php"。这似乎覆盖了我的用户路径变量,工作得很好。每次我需要烘焙东西的时候,我都要运行setpaths。bat

分号后面的空格是我的问题。

C:'Program Files'Common Files'Microsoft Shared'Windows LiveFiles (x86)'Common Files'Microsoft Shared'Windows Live;C:'Program文件(x86) ' NVIDIA公司'物理运算引擎'普遍;% SystemRoot % ' system32系统;% SystemRoot %, % SystemRoot % ' system32系统' Wbem; % SystemRoot % ' system32系统' WindowsPowerShell ' v1.0 '; C: '程序英特尔文件' ' DMIX; K: ' Xampp ' php; K: ' Xampp ' '蛋糕'控制台;C:'Program Files' TortoiseSVN ' bin; C: '程序C:'Program Files (x86)'Git'cmd;C:'Program Files(x86)'Windows Live'Shared;C:'Program Files (x86)'QuickTime'QTSystem'

确保它在Path变量中,尝试删除分号和下一个路径之间的空格。随便猜一下。

由于某些原因,我的Windows 7环境路径变量不能正常工作。我在我的家用电脑(同样的操作系统)上做了同样的事情,那个工作得很好。我刚刚在我的工作计算机上放弃了这种方法,只是写了一个名为setpaths.bat的短批处理文件,其中包括"setpath =C:'xampp'htdocs'cakeblog'cake'console;C:'xampp'php"。这似乎覆盖了我的用户路径变量,工作得很好。但是,.bat文件需要在每个会话期间运行。

希望这能帮助到其他可能有类似问题的人。