2016-08-30 3 views
0

Ich versuche, den relativen Pfad auf die Datei zu verweisen, die sich im selben Repo wie Powershell-Skript befindet.Powershell-relativer Pfad zur Repo-Datei

Ich habe folgende dir-Struktur.

repo/ 
├── files 
│   └── scripts.sh 
│   
├── powershell_scripts 
     └── my_powershell.ps1 

in my_powershell.ps1 möchte ich scripts.sh verweisen. Ich habe versucht, $PSScriptRoot in der Powershell-Skript verwenden, aber es hat nicht funktioniert, wie ich will.

Ich möchte my_powershell.ps1 zur Übernahme scripts.sh mit Verzeichnisstruktur.

weiß jemand wie das geht?

Dank

+0

ich sehe, Sie haben pSV2 als Tag aufgeführt. Werden Sie das tatsächlich auf Version 2 ausführen? – TheMadTechnician

+0

Running es auf powershell-v3.0 – roy

Antwort

1

Ok, also in v3 oder höher dieser ist einfach. Wenn Sie den Pfad zum „Repo“ -Ordner möchten Sie einfach auf das übergeordnete des aktuellen Ordners wie beziehen könnte:

$Repo = Resolve-Path "$PSScriptRoot\.." 

Diese erhalten Sie den Ordner Objekt von Repo. Von dort gelangst du zu deinem Skriptordner.

oder direkt an die scripts.sh Datei verweisen Sie tun können:

Resolve-Path "$PSScriptRoot\..\files\scripts.sh" 
+0

Sorry, ich habe das nicht bekommen, kann den vollen Befehl angeben, den ich verwenden muss, um zu beziehen 'scripts.sh' in' my_powershell.ps1' – roy

+0

Ich versuchte '$ Repo = Resolve-Path $ PSScriptRoot \ .. "' then 'Write-host $ Repo' mit dem Ausdruck' C: \ ' – roy

+0

Verweisen Sie 'scripts.sh' in' my_powershell.ps1' wie? Versuchen Sie 'Get-Content '$ PSScriptRoot \ .. \ files \ scripts.sh" ' – TheMadTechnician