栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

npm安装后更改目录命令cd ..不能在批处理文件中工作

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

npm安装后更改目录命令cd ..不能在批处理文件中工作

npm
在Windows上是Windows批处理脚本,具有文件扩展名,
.cmd
而不是可执行文件,在这种情况下,该脚本会修改当前目录,并且在退出前不会还原该目录。

我建议使用代替

cd hui-components-style

命令

pushd hui-components-style

并使用代替

cd ..

命令

popd

有关这两个命令(push和pop目录)的详细信息,请打开命令提示符窗口,然后运行

pushd /?
popd /?
显示每个命令的帮助。

使用绝对路径可以更好地理解的说明。

  1. 当前目录是
    C:TempHDC
  2. 该命令
    pushd hui-components-style
    保存
    C:TempHDC
    在堆栈上并设置为新的当前目录
    C:TempHDChui-components-style
  3. npm
    执行修改当前目录。
  4. 该命令从堆栈
    popd
    获取
    C:TempHDC
    ,并将该目录设置为当前目录,而与当前目录是哪个目录无关。

因此,经过这两个修改的代码是:

echo STEP12cd HDCgit config --global url."https://".insteadOf git://echo STEP13pushd hui-components-stylecall npm.cmd install --registry http://localhost:23510popd

必须使用命令,

call
因为它是
npm
具有完整文件名
npm.cmd
而不是可执行文件的批处理文件,即

call npm.cmd install --registry http://localhost:23510

否则,将 继续
执行当前批处理文件的

npm.cmd
命令,并且
npm
Windows命令处理器将永远不会处理与行之后的当前批处理文件中的任何命令。

另外,也可以使用以下代码:

echo STEP12cd HDCgit config --global url."https://".insteadOf git://echo STEP13cd hui-components-stylesetlocalcall npm.cmd install --registry http://localhost:23510endlocalcd ..

setlocal 命令执行以下操作:

  1. 它将当前目录的路径压入堆栈。
  2. 它将命令扩展的状态压入堆栈。
  3. 它将延迟扩展的状态推入堆栈。
  4. 它将当前环境变量表的内存地址压入堆栈。
  5. 它在内存中创建当前环境变量表的副本,并使该新环境变量表处于活动状态。

这些5个步骤总是即使进行

setlocal
被称为具有1或的4个可能的选项2
EnableExtensions
DisableExtensions
EnableDelayedExpansion
DisableDelayedExpansion

额外地 改变命令扩展和/或延迟的环境变量扩展的状态。

现在,批处理文件

npm.cmd
可以更改当前工作目录,可以添加,删除和修改环境变量,可以启用/禁用命令扩展,以及可以启用/禁用延迟扩展的用法。

但是在下一个命令 endlocal 之后,对命令处理环境的所有修改都无关紧要,因为 endlocal

  1. 删除当前环境表;
  2. 从堆栈中弹出先前环境表的内存地址,并使用该地址来恢复初始环境变量;
  3. 从堆栈中弹出延迟扩展的状态,并相应地禁用/启用延迟扩展;
  4. 从堆栈弹出命令扩展的状态,并相应地禁用/启用命令扩展;
  5. 从堆栈中弹出先前的当前目录路径,并将当前目录设置为此路径以还原当前目录。

这两个命令的名称实际上是不言自明的:

  • setlocal …根据当前环境设置本地命令进程环境。
  • endlocal …结束本地命令进程环境并还原以前的环境。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号