在NSIS脚本中获取PATH变量

时间:2018-08-30 07:16:46

标签: environment-variables nsis

我不知道如何在NSIS脚本中找到PATH变量。这是我尝试过的方法,但它在$ 0中返回“错误”:

nsExec::ExecToStack 'echo %PATH%'
Pop $0
MessageBox MB_OK "$0"

也尝试用$ s转义%符号,但无济于事。仅放置一些字符串而不是%PATH%也不起作用。我看到了一个建议的示例,就像使用Exec而不是ExecToStack的示例一样,但这也不起作用。我想念什么?

1 个答案:

答案 0 :(得分:3)

NSIS已经为此提供了内置指令: <ion-header> <ion-navbar> <ion-title>Home</ion-title> </ion-navbar> </ion-header> <ion-content padding> <div *ngIf="isLoggedIn; else facebookLogin"> <h2>Hi, {{users.name}} ({{users.email}})</h2> <p> Gender: {{users.gender}} </p> <p> <img src="{{users.picture.data.url}}" width="100" alt="{{users.name}}" /> </p> <p> <button ion-button icon-right (click)="logout()"> Logout </button> </p> </div> <ng-template #facebookLogin> <button ion-button icon-right (click)="login()"> Login with <ion-icon name="logo-facebook"></ion-icon> </button> </ng-template> </ion-content>

ReadEnvStr $0 PATH不起作用,因为ExecToStack是cmd.exe中的内部命令,而不是.exe。您必须以echo的身份执行它。

请记住,%path%可以大于NSIS字符串限制,因此在将其存储在NSIS变量中后,您不应将其写回到注册表中。使用EnVar plug-in安全修改%path%。