Ρύθμιση μεταβλητών περιβάλλοντος του Windows PowerShell

Ανακάλυψα ότι η ρύθμιση της μεταβλητής περιβάλλοντος PATH επηρεάζει μόνο την παλιά γραμμή εντολών. Το PowerShell φαίνεται να έχει διαφορετικές ρυθμίσεις περιβάλλοντος. Πώς μπορώ να αλλάξω τις μεταβλητές περιβάλλοντος για το PowerShell (v1);

Σημείωση:

Θέλω να κάνω τις αλλαγές μου μόνιμες, ώστε να μην χρειάζεται να τις ρυθμίζω κάθε φορά που τρέχω το PowerShell. Έχει το PowerShell ένα αρχείο προφίλ; Κάτι σαν το προφίλ του Bash στο Unix;

Εάν, κάποια στιγμή κατά τη διάρκεια μιας συνεδρίας PowerShell, χρειαστεί να να προσθέσετε προσωρινά στη μεταβλητή περιβάλλοντος PATH, μπορείτε να να το κάνετε με αυτόν τον τρόπο:

Σχόλια (7)
Λύση

Η αλλαγή των πραγματικών μεταβλητών περιβάλλοντος μπορεί να γίνει με τους εξής τρόπους χρησιμοποιώντας την πληροφορία env: namespace / drive. Για παράδειγμα, αυτό κώδικας θα ενημερώσει τη μεταβλητή περιβάλλοντος path:

Σχόλια (8)

Μπορείτε επίσης να τροποποιήσετε τις μεταβλητές περιβάλλοντος χρήστη/συστήματος μόνιμα (δηλαδή θα παραμείνουν σε όλες τις επανεκκινήσεις του κελύφους) με τα εξής:

Τροποποίηση μιας μεταβλητής περιβάλλοντος συστήματος

[Environment]::SetEnvironmentVariable
     ("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)

Τροποποίηση μιας μεταβλητής περιβάλλοντος χρήστη

[Environment]::SetEnvironmentVariable
     ("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)

Χρήση από τα σχόλια - Προσθήκη στη μεταβλητή περιβάλλοντος συστήματος

[Environment]::SetEnvironmentVariable(
    "Path",
    [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
    [EnvironmentVariableTarget]::Machine)

Η λύση που βασίζεται σε συμβολοσειρές είναι επίσης δυνατή αν δεν θέλετε να γράψετε τύπους

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")
Σχόλια (11)