2017-05-25 2 views
0

BESCHREIBUNG arbeiten: Ich versuche, einen Macht Shell-Skript auf einer Build-Release ausführen, die einen Benutzer zur Eingabe von Benutzername und Passwort gefragt, und danach die Werte in eine .pubxml-Datei. (Ich bin mit Powershell 4)Powershell - wie eine Variable zu dem Verzeichnis im zuweisen in

FRAGE: Die .pubxml Datei im Arbeitsverzeichnis des Build so kippe codieren i den vollständigen Pfad i das Arbeitsverzeichnis für die .pubxml Datei in einer Schleife suchen möchten oder etwas Ähnliches, Wie kann ich die Get-Childitem des Verzeichnisses finden, in dem ich arbeite?

UPDATE Ich versuche, das Arbeitsverzeichnis, in dem mein Skript zu bekommen, ist $testFiles = Get-ChildItem "WorkingDirectoryofSCript". Ich mag nicht den Weg Ich will hart codiert den Weg finden und es dann zu einer Variablen $testFiles zuweisen. Hoffnung, das ist macht es klarer

Ich weiß, wie es in Batch-Skript zu tun (wahrscheinlich nicht die beste Lösung, aber funktioniert)

for %%* in (.) do set CurrentDirName=%%~nx* 
echo CurrentDirName: %CurrentDirName% 

If not "%CurrentDirName%" == "somefolder" (
echo "The current dir name is not somefolder" 
cd.. 
Pause 
Goto CheckDirName 

) 

ich an der Macht Shell tun etwas Ähnliches wollen.

+0

Siehe [Wie man eine gute Frage stellt] (https: // stackover flow.com/help/how-to-ask) Hilfeseite. Was haben Sie bisher versucht und welche Fehler/Probleme haben Sie erlebt? StackOverflow ist kein Code-Schreibdienst. Idealerweise ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) – gms0ulman

+3

Die Frage ist ein wenig unklar, suchen Sie vielleicht nach $ PWD? –

+0

Aktualisiert meine Frage hoffe, es ist klarer –

Antwort

2

auf der Version von Powershell Je Sie verwenden können Sie die folgenden Befehle zur Verfügung:

Powershell 3 und höher

$PSScriptRoot 

Powershell 2

$currentDirectory = split-path -parent $MyInvocation.MyCommand.Definition 

Dies wird das Verzeichnis zurückkehren dass das Skript ausgeführt wird.

+0

So kann ich nur die $ testFiles = $ PSScriptRoot zuweisen und dann gehen Get-ChildItem $ testFiles'? –

+0

Ja. Dadurch erhalten Sie das Verzeichnis, in dem sich das Skript befindet. An diesem Punkt können Sie Get-ChildItem verwenden. –

Verwandte Themen