Hinzufügen von cwd / pwd / (.) zum Pfad in Powershell

Hinzufügen von cwd / pwd / (.) zum Pfad in Powershell

Ich habe also ein Programm, das ich in Windows PowerShell ausführen möchte. In cmd gebe ich einfach ein script.cmdund das Skript wird ausgeführt. In PowerShell muss ich anscheinend Folgendes tun ./script.cmd.

BASH verhält sich standardmäßig ähnlich. Um das Verhalten von BASH zu ändern, müssen Sie Folgendes tun export PATH=$PATH:.und dann script.shfunktioniert es, anstatt nur ./script.sh.

Meine Frage ist: Wie kann ich es script.cmdin PowerShell zum Laufen bringen? Muss ich etwas Ähnliches tun wie export PATH=$PATH:.? Ich habe es echo $PATHin PowerShell gemacht, aber das hat nichts ausgegeben.

Antwort1

Lesen Sie zunächst, get-help about_command_precedencewie das funktioniert.

Geben Sie als Nächstes $env:pathIhren aktuellen PFAD ein, um ihn anzuzeigen.

Sie können dem PATH wie folgt ein Verzeichnis anhängen:$env:path += ";C:\Scripts"

Sie können das aktuelle Verzeichnis auch wie folgt an den PATH anhängen:$env:path += ";."

get-item env:zeigt Ihnen alle Umgebungsvariablen.

Antwort2

Wenn Sie es dauerhaft tun möchten, mache ich Folgendes.

(Und anstatt dem Pfad einen . hinzuzufügen, versuche ich, das aktuelle Verzeichnis hinzuzufügen, in dem Sie sich gerade befinden.)

Sie können beispielsweise die Registrierung selbst bearbeiten.

$oldpath = (Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path
$newpath = "$oldpath;$($pwd.Path)"
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newPath
#final check
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path

Natürlich benötigen Sie hierfür Administratorrechte. Lassen Sie uns also einen anderen Weg finden, wenn Sie kein Administrator sind. Powershell bietet Ihnen eine andere Möglichkeit, dies zu tun, und zwar wie folgt:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$($pwd.Path)", "User")

verwandte Informationen