node调用powershell脚本
前提
.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脚本的更多相关文章
- C#调用PowerShell脚本
今天通过一个小例子,学习了C#如何调用PowerShell脚本文件的Function以及传参. private bool CallPowershell(string outputFile) { str ...
- 在Bat批处理中调用Powershell脚本
##如何在BAT中调用powershell,把下面代码另存为bat格式pushd %~dp0powershell.exe -command ^ "& {set-executionp ...
- 通过cmd调用Powershell脚本
一共需要3个文件,把这3个文件放在一个路径下 UTF8NoBOM.bat 这个文件是为了调用ps1 pwsh -file "%cd%\UTF8NoBOM.ps1" UTF8No ...
- cmd命令调用powershell脚本方法
cmd方法: powershell -command ". ('ps1脚本路径'); WriteInfo -param 'param参数值'" ps1脚本代码: function ...
- 怎样从 bat 批处理文件调用 PowerShell 脚本
https://stackoverflow.com/questions/19335004/how-to-run-a-powershell-script-from-a-batch-file https: ...
- 【黑客基础】Windows PowerShell 脚本学习(上)
视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...
- 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本
最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...
- 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...
- Python Module_subprocess_调用 Powershell
目录 目录 前言 Powershell call Python Python call Powershell Powershell发送邮件 最后 前言 使用Python内建的subprocess模块, ...
- 有关PowerShell脚本你必须知道的十个基本概念
1.PS1文件 一个PowerShell脚本其实就是一个简单的文本文件,这个文件包含了一系列PowerShell命令,每个命令显示为独立的一行,对于被视为PowerShell脚本的文本文件,它的文件名 ...
随机推荐
- unity里生成的.csproj和.sln :assembly definition以及ET框架中的程序集定义
有一段时间一直没明白为啥有的时候第三方的package里的代码没法引用我们项目的,最近有点心得,记录下: 在创建unity项目的时候默认是创建一个解决方案就是以.sln为结尾的.默认开发时都在同一个解 ...
- DAY1--ROS基本认知
1.ROS基本框架 ROS架构如下图所示,可以将其分为三个层次:OS层.中间层和应用层. 1.1 应用层 应用层是用户直接交互的部分,包含以下核心组件: Master: ROS的核心协调者,负责节点( ...
- surging 集成SuperSocket预发布版本2.0
一.概述 周末在家试着扩展SuperSocket,因为之前都是只支持.net framework, 后面出现支持.NET CORE 的SuperSocket 2.0 ,然后集成进来和dotnetty ...
- live555开发笔记(二):live555创建RTSP服务器源码剖析,创建rtsp服务器的基本流程总结
前言 基于Live555的流媒体服务器方案源码剖析,了解基本的代码搭建步骤. Demo 关于.h264与.265 没深入研究,但是h264的后缀名.264替换为.h264文件, ...
- Vue3+Ant-design项目启用ts/typescript
Ant-design官方文档提供了js和ts两种案例,按照文档给项目install ant-design后写了个组件编译时发现只要加上`<script lang="ts"&g ...
- 记一次SQL隐式转换导致精度丢失问题的排查 → 不规范就踩坑
开心一刻 刚毕业的侄子给我发消息侄子:叔,人生太难了我:怎么呢?侄子:工作太难了,感情也太难了,怎么什么都这么难我:你还小啊侄子:大了就不难了?我:大了你就习惯了 问题复现 先准备表:数据源( tbl ...
- PyQt6安装与配置(附带Vscode配置)
1. 安装PyQt6和PyQt-tools pip install PyQt6 pip install PyQt6-tools 2. Vscode配置QtDesigner 安装PyQt Integra ...
- 运筹学之"图解法求出最优解和最大利润"
11.某公司利用两种原料 A.B 生产甲.乙两种产品(吨),各产品所需的原料数,原料限量及单位产品所获利润如下表.企业目标是追求利润的最大化,试写出该线性规划问题的数学模型,并用图解法求出最优解和最大 ...
- Flutter适配HarmonyOS 5开发知识地图
还在为Flutter适配HarmonyOS 5头疼?这份知识地图,用实战解析+高频避坑指南,帮你快速打通跨平台开发任督二脉! ▌为什么这份资源值得你收藏? 分层进阶:从环境搭建→插件开发→性能优化,匹 ...
- 仿EXCEL插件,智表ZCELL产品V2.2 版本发布,增加获取单元格类型、样式功能,优化键盘事件、数值千分位等功能
详细请移步 智表(ZCELL)官网www.zcell.net 更新说明 这次更新主要应用户要求,增加获取单元格类型.样式功能,优化键盘事件.数值千分位等功能 ,欢迎大家体验使用. 本次版本更新内容如 ...