如何从Windows Powershell执行脚本?
问题描述:
我创建了一个小的aws.bat脚本,然后在PowerShell中导航到脚本目录。如何从Windows 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命令有一个类似的消息。
答
你不能只是自己输入名字,有或没有文件扩展名,你首先必须告诉powershell如何处理它。
你可以称它为如下:
& .\aws.bat
如果您需要在PowerShell中返回检查bat文件工作的LastExitCode
(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
您可以输入'.ps1'文件的扩展名以及'PATHEXT'环境变量(缺省为'.com; .exe; ;的.js; .jse;的.wsf; .wsh; .msc')。 – PetSerAl
是的,但你必须告诉powershell如何处理它 - 即使在你路径中的'.bat',最小的最小值也是以'.'作为前缀,例如'。\ aws' –
我尝试了两种解决方案,但是我收到消息说不能识别命令。但是,当我将它们直接键入Powershell窗口中时,它们都可以。 – Melina