我创建了一个小的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.
第一个和每个othre命令都有类似的信息。
答案 0 :(得分:1)
您不能单独输入名称,无论是否有文件扩展名,您首先必须告诉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