0

我遵循的原始来源:http ://blog.dotsmart.net/2010/11/26/running-the-less-js-command-line-compiler-on-windows/

我在执行 *.cmd 文件时遇到了一点问题,因此我可以使用 cmd 在计算机上的任何位置执行它们。我真正想要的是执行less.cmd 文件,它支持可选参数并使用lessc.wsf(Windows Script Host 的Less.js 编译器)将less css 转换为纯css。

lessc.cmd 包含:

::For convenience
@cscript //nologo "%~dp0lessc.wsf" %*

lessc.wsf 包含以下内容:http: //pastebin.com/D4pUSGZ6

到目前为止我所做的:

将 lessc.cmd 的绝对路径添加到 PATH 系统变量,并将 PATHTEXT 系统变量中的 .cmd 移动到开头。

也这样做了:

From a command prompt; 
assoc .cmd
should return with 
..cmd=cmdfile
If not 
assoc .cmd=cmdfile 
to restore the default file type association. 

ftype cmdfile
should return with 
cmdfile="%1" %* 
If not 
ftype cmdfile="%1" %* 
to restore the default "Open" action for the file type. 

除非我在cmd中使用绝对路径接近cmd文件,否则这仍然不起作用,如果我在其他任何地方输入lessc,那么我会得到

C:\Intel Intel is not recognized as an internal or external command, operable program or batch file.

, 我已多次重新启动计算机以确保更改生效。

我希望有人能给出答案。

4

1 回答 1

1

您的 PATH 上可能有另一个可运行的“less.*”文件,它隐藏了您的“less.cmd”文件。如果你跑

where less.*

从包含less.cmd的目录以外的目录中,它是否列出了您的文件?

另外,尝试添加

echo Running less.cmd (as %0) with parameters %*

作为您的 less.cmd 文件中的第一行,然后再次运行您的命令。您是否总是看到该消息,或者仅在通过完整路径运行它时?您正在运行的命令的全文和此输出是什么?您的完整路径是什么(即“set PATH”的输出)?

还有一件事:检查您的“lessc.wsf”文件是否实际上与“less.cmd”文件位于同一文件夹中。如果不是这种情况,我不确定您的脚本将如何运行,但仍然值得仔细检查。

于 2012-09-27T04:12:33.137 回答