如何从批处理文件执行Powershell命令?多行注释

2 篇文章 0 订阅
1 篇文章 0 订阅

单个bat中调用powershell 多行注释法

1. 来源

How to execute powershell commands from a batch file?

kapitanrum 的回答:https://stackoverflow.com/a/41986771

2. 思路

bat中注释使用rem::,而powershell单行注释用#,多行注释用<##>,这一差异可以轻松将ps1脚本转为bat后缀的脚本,而不需要做大量的改动。

要想在bat脚本中运行powershell命令,需要使用powershell.exe-Command参数。幸运的是,ps1中你可以使用Invoke-Command(别名icm)来运行scriptblock,所以我们只需要将脚本文本通过[scriptblock]::Create()做一个简单的转换就好了。

3. 代码

如果脚本编码不同,设置Get-Content读取时的编码,或者用[IO.File]类指定编码格式读取脚本.

<# :
@powershell "icm ([scriptblock]::Create((gc '%~f0' -Raw -Encoding UTF8)))"
exit
#>

Write-Host "Hello World" -fore Red
pause
# powershell script
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在命令输入"npm"时,如果出现"npm不是内部或外部命令,也不是可运行的程序或批处理文件"的错误提示,这通常表示你的计算机上没有安装Node.js或者Node.js的安装目录没有添加到系统的环境变量。 要解决这个问题,你可以按照以下步骤进行操作: 1. 首先,确保你已经正确地安装了Node.js。你可以在Node.js的官方网站(https://nodejs.org/)上下载适合你操作系统的安装包,并按照安装向导进行安装。 2. 安装完成后,打开命令行窗口(Windows用户可以使用cmdPowerShell,Mac用户可以使用终端)。 3. 输入以下命令来检查Node.js是否正确安装并查看其版本号: ``` node -v ``` 如果能够正确显示Node.js的版本号,则说明Node.js已经成功安装。 4. 如果Node.js已经正确安装,但仍然出现"npm不是内部或外部命令"的错误提示,那么可能是因为Node.js的安装目录没有添加到系统的环境变量。 - 对于Windows用户,可以按下Win + R键打开运行窗口,输入"sysdm.cpl"并点击确定。在弹出的系统属性窗口,选择"高级"选项卡,然后点击"环境变量"按钮。在系统变量找到名为"Path"的变量,点击编辑,然后添加Node.js的安装目录(默认情况下是C:\Program Files\nodejs)到变量值的末尾,多个路径之间用分号分隔。 - 对于Mac用户,可以打开终端,输入以下命令来编辑bash配置文件: ``` nano ~/.bash_profile ``` 在打开的文件,添加以下行并保存: ``` export PATH="/usr/local/bin:$PATH" ``` 然后使用以下命令使配置文件生效: ``` source ~/.bash_profile ``` 5. 完成上述步骤后,重新打开一个新的命令行窗口,并输入以下命令来检查npm是否正常工作: ``` npm -v ``` 如果能够正确显示npm的版本号,则说明问题已经解决。 希望以上解决方案能够帮助到你!如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值