前提

.bat 是 Windows 批处理脚本文件的扩展名,用于编写和执行一系列 Windows 命令。

.ps1才是是 PowerShell 脚本文件的扩展名,用于编写和执行 PowerShell 脚本。

PowerShell是更新的windows脚本语言,对比古老的windows早起的脚本语言bat,它更易理解和编写,也更接近于linux上的脚本语言(shell)。

参数传递

node处的写法

const param = [
'-File', './shell/myscript.ps1', // 替换为你的批处理文件路径
参数1, 参数1, 参数3
];
const output = childProcess.execFileSync('powershell', {}, option);
console.log(output.toString()); // 打印脚本的输出,如echo

脚本接受参数

# $arg1=$args[0]
# $arg2=$args[1] echo 第一个参数是$arg1

脚本乱码

执行node程序的时候,加上个设置编码的

chcp 65001 && node index.js

代码处也要设置

const param = [ '-File', './shell/myscript.ps1'];
const option = {
encoding: 'utf8', // 如果脚本里有中文 一定要设置成这个
env:{
LANG: 'zh_CN.UTF-8', // 要设置这个 否则shell的ui界面会乱码
}
};
const output = childProcess.execFileSync('powershell', param, option);
console.log(output.toString());

然后 powershell脚本文件一定要用保存为ascall编码格式,记得别用vscode编辑。

最后所有都设置完记得重新启动终端(包括vscode集成的那个也要关闭再打开),方可生效

无法读取环境变量

比如java、maven、keytool等等,读取不到的情况

childProcess.execFileSync('powershell', [...], {
...process.env, // 集成父进程的环境变量
...
});

node调用powershell脚本的更多相关文章

  1. C#调用PowerShell脚本

    今天通过一个小例子,学习了C#如何调用PowerShell脚本文件的Function以及传参. private bool CallPowershell(string outputFile) { str ...

  2. 在Bat批处理中调用Powershell脚本

    ##如何在BAT中调用powershell,把下面代码另存为bat格式pushd %~dp0powershell.exe -command ^  "& {set-executionp ...

  3. 通过cmd调用Powershell脚本

    一共需要3个文件,把这3个文件放在一个路径下 UTF8NoBOM.bat   这个文件是为了调用ps1 pwsh -file "%cd%\UTF8NoBOM.ps1" UTF8No ...

  4. cmd命令调用powershell脚本方法

    cmd方法: powershell -command ". ('ps1脚本路径'); WriteInfo  -param 'param参数值'" ps1脚本代码: function ...

  5. 怎样从 bat 批处理文件调用 PowerShell 脚本

    https://stackoverflow.com/questions/19335004/how-to-run-a-powershell-script-from-a-batch-file https: ...

  6. 【黑客基础】Windows PowerShell 脚本学习(上)

    视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...

  7. 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

    最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...

  8. 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例

    当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...

  9. Python Module_subprocess_调用 Powershell

    目录 目录 前言 Powershell call Python Python call Powershell Powershell发送邮件 最后 前言 使用Python内建的subprocess模块, ...

  10. 有关PowerShell脚本你必须知道的十个基本概念

    1.PS1文件 一个PowerShell脚本其实就是一个简单的文本文件,这个文件包含了一系列PowerShell命令,每个命令显示为独立的一行,对于被视为PowerShell脚本的文本文件,它的文件名 ...

随机推荐

  1. unity里生成的.csproj和.sln :assembly definition以及ET框架中的程序集定义

    有一段时间一直没明白为啥有的时候第三方的package里的代码没法引用我们项目的,最近有点心得,记录下: 在创建unity项目的时候默认是创建一个解决方案就是以.sln为结尾的.默认开发时都在同一个解 ...

  2. DAY1--ROS基本认知

    1.ROS基本框架 ROS架构如下图所示,可以将其分为三个层次:OS层.中间层和应用层. 1.1 应用层 应用层是用户直接交互的部分,包含以下核心组件: Master: ROS的核心协调者,负责节点( ...

  3. surging 集成SuperSocket预发布版本2.0

    一.概述 周末在家试着扩展SuperSocket,因为之前都是只支持.net framework, 后面出现支持.NET CORE 的SuperSocket 2.0 ,然后集成进来和dotnetty ...

  4. live555开发笔记(二):live555创建RTSP服务器源码剖析,创建rtsp服务器的基本流程总结

    前言   基于Live555的流媒体服务器方案源码剖析,了解基本的代码搭建步骤.   Demo    关于.h264与.265      没深入研究,但是h264的后缀名.264替换为.h264文件, ...

  5. Vue3+Ant-design项目启用ts/typescript

    Ant-design官方文档提供了js和ts两种案例,按照文档给项目install ant-design后写了个组件编译时发现只要加上`<script lang="ts"&g ...

  6. 记一次SQL隐式转换导致精度丢失问题的排查 → 不规范就踩坑

    开心一刻 刚毕业的侄子给我发消息侄子:叔,人生太难了我:怎么呢?侄子:工作太难了,感情也太难了,怎么什么都这么难我:你还小啊侄子:大了就不难了?我:大了你就习惯了 问题复现 先准备表:数据源( tbl ...

  7. PyQt6安装与配置(附带Vscode配置)

    1. 安装PyQt6和PyQt-tools pip install PyQt6 pip install PyQt6-tools 2. Vscode配置QtDesigner 安装PyQt Integra ...

  8. 运筹学之"图解法求出最优解和最大利润"

    11.某公司利用两种原料 A.B 生产甲.乙两种产品(吨),各产品所需的原料数,原料限量及单位产品所获利润如下表.企业目标是追求利润的最大化,试写出该线性规划问题的数学模型,并用图解法求出最优解和最大 ...

  9. Flutter适配HarmonyOS 5开发知识地图

    还在为Flutter适配HarmonyOS 5头疼?这份知识地图,用实战解析+高频避坑指南,帮你快速打通跨平台开发任督二脉! ▌为什么这份资源值得你收藏? 分层进阶:从环境搭建→插件开发→性能优化,匹 ...

  10. 仿EXCEL插件,智表ZCELL产品V2.2 版本发布,增加获取单元格类型、样式功能,优化键盘事件、数值千分位等功能

    详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,增加获取单元格类型.样式功能,优化键盘事件.数值千分位等功能 ,欢迎大家体验使用. 本次版本更新内容如 ...