如何运行PowerShell脚本?
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
有或没有--noexit
)除了输出文件名外,它什么都不返回.
没有错误,没有消息,没有.哦,当我添加时-noexit
,同样的事情发生了,但我仍然在PowerShell中,必须手动退出.
.ps1文件应该运行程序并返回依赖于该程序输出的错误级别.但我很确定我还没有到达那里.
我究竟做错了什么?
当我为自己阅读和体验时,VBScript会删除所有双引号和参数.有没有人知道这方面的方法?如何将双引号传递给脚本?
在尝试重写批处理文件时,我正在研究使用PowerShell的可能性.我遇到的主要问题是.ps1
默认情况下文件不可执行.我在这里找到了一个解决方案,我将在下面复制,但我对第一行的语法非常困惑:
<# : batch script
@echo off
setlocal
cd %~dp0
powershell -executionpolicy remotesigned -Command "Invoke-Expression $([System.IO.File]::ReadAllText('%~f0'))"
endlocal
goto:eof
#>
# here write your powershell commands...
Run Code Online (Sandbox Code Playgroud)
这是我从测试中得知的:
<#
和:
需要,虽然可以有多个.3<# :
,这让我怀疑有一些涉及重定向和标签的怪异.git <# : batch script
,shell显示它试图评估git : batch script 0<#
并且找不到指定的文件#
改为有效的文件名会使投诉消失(自然).cmd
文件中的唯一行)也会默认成功最后一颗子弹是我想弄清楚的部分.环境有什么不同?我的理解是问题的一部分是运行bat文件被解析,好像每条线都是手动输入的.#
当通过脚本调用时,为什么不抱怨是无效文件?
目前以下是我启动 VMware vSphere PowerCLI 命令提示符的路径。我希望sample.ps1
使用批处理文件自动运行我的脚本。如何sample.ps1
合并到此路径并创建批处理文件?
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -noe -c ". \"C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1\""
Run Code Online (Sandbox Code Playgroud) @ECHO off
$BIOS= Get-WmiObject -computername "BAHRIATSG2-PC" -Namespace
root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface
$BIOS.SetBIOSSetting('Setup Password','<utf-16/>TheBIOSPassword','<utf-16/>')
pause
Run Code Online (Sandbox Code Playgroud)
当我另存为.bat文件并运行时,它将无法正常运行,否则当我手动输入时,它将在Powershell中正常运行。