如何从 Windows Powershell 执行脚本?
How do I execute a script from Windows Powershell?
我创建了一个小 aws.bat 脚本,然后在 PowerShell 中导航到脚本目录。
但是当我键入 aws 时,我收到一条错误消息并且它不执行脚本。有什么我应该做的特别的事情吗?
这是我尝试过的方法:
PS C:\G> .\aws.bat
C:\G>$BucketName = "ab-user"
'$BucketName' is not recognized as an internal or external command,
operable program or batch file.
第一个和其他每个命令都有类似的消息。
您不能只输入名称本身,无论有无文件扩展名,您首先必须告诉 powershell 如何处理它。
可以这样调用:
& .\aws.bat
如果您需要在 powershell 中返回的 LastExitCode
来检查 bat 文件是否有效(0 通常表示有效,其他任何值通常表示无效),请按如下方式使用 Start-Process
:
$batch = Start-Process -FilePath .\aws.bat -Wait -passthru;$batch.ExitCode
如果您希望批处理文件在 运行 时被 powershell 隐藏,请执行以下操作:
$batch = Start-Process -FilePath .\aws.bat -Wait -passthru -WindowStyle Hidden;$batch.ExitCode
我创建了一个小 aws.bat 脚本,然后在 PowerShell 中导航到脚本目录。
但是当我键入 aws 时,我收到一条错误消息并且它不执行脚本。有什么我应该做的特别的事情吗?
这是我尝试过的方法:
PS C:\G> .\aws.bat
C:\G>$BucketName = "ab-user"
'$BucketName' is not recognized as an internal or external command,
operable program or batch file.
第一个和其他每个命令都有类似的消息。
您不能只输入名称本身,无论有无文件扩展名,您首先必须告诉 powershell 如何处理它。
可以这样调用:
& .\aws.bat
如果您需要在 powershell 中返回的 LastExitCode
来检查 bat 文件是否有效(0 通常表示有效,其他任何值通常表示无效),请按如下方式使用 Start-Process
:
$batch = Start-Process -FilePath .\aws.bat -Wait -passthru;$batch.ExitCode
如果您希望批处理文件在 运行 时被 powershell 隐藏,请执行以下操作:
$batch = Start-Process -FilePath .\aws.bat -Wait -passthru -WindowStyle Hidden;$batch.ExitCode