Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 为什么我的简单批处理脚本在第59行之后意外退出?_Windows_Batch File - Fatal编程技术网

Windows 为什么我的简单批处理脚本在第59行之后意外退出?

Windows 为什么我的简单批处理脚本在第59行之后意外退出?,windows,batch-file,Windows,Batch File,我创建这个批处理文件是为了执行web开发工具包的某些命令,但是,bat文件在第59行之后退出。为什么要辞职 但是,我注意到,如果我从文件中删除第59行并运行它。它很好用。唯一的问题是,我必须在bat文件完成后实际键入该行 您可以尝试通过从my GitHub下载my并将zip内容提取到您喜欢的位置来重现问题 只需导航到Gulp/Starter Kit目录并运行setup.bat文件 批处理文件: @echo off TITLE Starter Kit runas /noprofile /user:

我创建这个批处理文件是为了执行web开发工具包的某些命令,但是,bat文件在第59行之后退出。为什么要辞职

但是,我注意到,如果我从文件中删除第59行并运行它。它很好用。唯一的问题是,我必须在bat文件完成后实际键入该行

您可以尝试通过从my GitHub下载my并将zip内容提取到您喜欢的位置来重现问题

只需导航到
Gulp/Starter Kit
目录并运行setup.bat文件

批处理文件:

@echo off
TITLE Starter Kit
runas /noprofile /user:Administrator cmd
goto :checkNodeVersion

:checkNodeVersion
  cls
  echo Current NodeJS version:
  call npm -v
  timeout 5
  if errorlevel 1 goto :installNode
  goto :updateNode

:installNode
  cls
  echo Installing NodeJS:
  powershell -Command "(New-Object Net.WebClient).DownloadFile('https://nodejs.org/dist/v5.3.0/node-v5.3.0-x64.msi', 'node-v5.3.0-x64.msi')"
  echo downloading file, node-v5.3.0-x64.msi, from https://nodejs.org/dist/v5.3.0/node-v5.3.0-x64.msi....
  set "fileName=node-v5.3.0-x64.msi"
  %fileName%

  echo NodeJS was successfully installed.
  timeout 5
  goto :updateNode

:updateNode
  cls
  echo Updating NodeJS:
  call npm cache clean -f
  call npm install -g n
  call n stable

  cls
  echo NodeJS was successfully updated to version #:
  node -v
  timeout 5
  goto :installBower

:installBower
  cls
  echo Installing Bower:
  call npm install -g gulp bower

  echo Bower was successfully installed.
  goto :installGulp

:installGulp
  cls
  echo Installing GulpJS:
  call npm install -g gulp

  echo GulpJS was successfully installed.
  timeout 5
  goto :installDependencies

:installDependencies
  cls
  echo Installing Project Dependencies:
  call npm install && bower install
  ::Quits unexpectedly after line 59
  call npm install --save-dev gulp-rucksack
  call npm install --save-dev gulp-imagemin
  call npm install --save imagemin-pngquant

  echo Project Dependencies were successfully installed.
  timeout 5
  goto :primaryFunction

:primaryFunction
  cls
  echo Starter Kit Log:
  echo NodeJS is installed.
  echo GulpJS is installed.
  echo Gulp Dependencies are installed.
  set /p response="Would you like to continue? <y/n>"

  if /i "%response%"=="y" (
    cls
    set "filePath=%~dp0"
    cd %filePath%

    gulp help
    cmd /k
  )

  if /i "%response%"=="n" goto :exitFunction

:exitFunction
  cls
  echo Starter Kit is Closing
  exit
@echo关闭
标题初学者工具包
runas/noprofile/user:Administrator cmd
goto:CheckNodeReversion
:checkNodeVersion
cls
回显当前节点JS版本:
呼叫npm-v
超时5
如果错误级别1转到:installNode
后藤:更新节点
:installNode
cls
echo安装节点:
powershell-Command“(新对象Net.WebClient).DownloadFile('https://nodejs.org/dist/v5.3.0/node-v5.3.0-x64.msi“,‘node-v5.3.0-x64.msi’”
echo下载文件,node-v5.3.0-x64.msi,来自https://nodejs.org/dist/v5.3.0/node-v5.3.0-x64.msi....
设置“fileName=node-v5.3.0-x64.msi”
%文件名%
已成功安装echo NodeJS。
超时5
后藤:更新节点
:updateNode
cls
回显更新节点:
调用npm缓存clean-f
调用npm安装-g n
叫n稳定
cls
echo NodeJS已成功更新为版本#:
节点-v
超时5
后藤:鲍威尔
:installBower
cls
安装凉亭:
呼叫npm安装-g gulp bower
已成功安装echo Bower。
后藤:大口喝
:一口
cls
echo安装GulpJS:
呼叫npm安装-g gulp
echo GulpJS已成功安装。
超时5
转到:安装依赖项
:installDependencies
cls
echo安装项目依赖项:
调用npm安装和bower安装
::在第59行之后意外退出
调用npm安装--保存开发人员的背包
调用npm安装--保存dev gulp imagemin
调用npm安装--保存imagemin pngquant
已成功安装echo项目依赖项。
超时5
后藤:原函数
:primary函数
cls
echo启动器套件日志:
安装了echo NodeJS。
安装了echo GulpJS。
已安装echo-Gulp依赖项。
set/p response=“是否继续?”
如果/i“%response%”=y(
cls
设置“文件路径=%~dp0”
cd%filePath%
狼吞虎咽
cmd/k
)
如果/i“%response%”==“n”转到:退出函数
:exitFunction
cls
echo启动器套件正在关闭
出口

根据以下引用,bower是一个批处理脚本(.cmd文件)

在此字段中,指定Bower可执行文件的位置 (bower.cmd或其他,具体取决于所使用的操作系统)

因此,您需要将第59行更改为如下内容:

  call npm install && call bower install

没有电话,你永远不会从鲍尔回来。

你在
CALL
ing是什么?另一个批处理文件?@aschipfl its
Node Package Manager
npmWhat是bower,它做什么?@Squashman-命令行实用程序或包管理器。访问该网站了解更多信息。最后一个想法是使用
cmd/C npm-v
…太棒了!!谢谢你的回答!现在它变得更有意义了@尼古拉斯·达莫(NicholasAdamou)很奇怪,6小时后它变成了一个批处理文件。@Squashman我以前不知道它是这样的。很高兴知道。@NicholasAdamou你费心看文件的扩展名了吗?@Squashman with bower?不,它只是一个通过命令提示符工作的包管理器,因此它是.bat文件是有意义的。我本应该更积极主动地去看。我只是觉得这和更大的东西有关,而不仅仅是凉亭。无论如何,很高兴知道。