Make error process_begin: CreateProcess(***) failed.

这两天编写从windows CMD调用Make编译的bat脚本。结果运行时总是报错:
process_begin: CreateProcess(bla,bla,bla.....) failed.
make (e=234): More data is available.
...

但是直接运行Make是不会有这个错误。

网上查找很久都没有找到解决方案。
最后一行一行注释别的脚本,终于找到问题所在了。

原来Windows CMD中set的变量空间是有限的(网上有说是11K)。也就是bat脚本中不能有太多的太长变量。否则可能会运行失败。
如:
set path=%path%;%path%
echo 1111====================================%path%
pause
set path=%path%;%path%
echo 2222====================================%path%
pause
set path=%path%;%path%
echo 3333====================================%path%
pause
set path=%path%;%path%
echo 4444====================================%path%
pause
set path=%path%;%path%
echo 5555====================================%path%
pause
set path=%path%;%path%
echo 6666====================================%path%
pause
set path=%path%;%path%
echo 7777====================================%path%
pause
set path=%path%;%path%
echo 8888====================================%path%
pause
set path=%path%;%path%
echo 9999====================================%path%
pause
pause

运行后打出第5个bat就退出了。

所以bat命令不能定义太多变量和内容
或者在一些变量用完后可以把其设为空
set var=

你可能感兴趣的:(windows,脚本)