Ich versuche, ein Skript zu schreiben, das die Namen aller Ordner in einem bestimmten Verzeichnis abruft und jedes als einen Eintrag in einem Array zurückgibt. Von hier aus würde ich jedes Array-Element verwenden, um eine größere Schleife auszuführen, die jedes Element als Parameter für einen späteren Funktionsaufruf verwendet. All dies geschieht durch Powershell.
Im Moment habe ich diesen Code:
%Vor%Die $ path-Zeile ist korrekt und ruft alle Verzeichnisse ab, aber die foreach-Schleife ist das Problem, bei dem tatsächlich die einzelnen Zeichen des ersten Verzeichnisses anstelle des vollständigen Namens jedes Directorys für jedes Element gespeichert werden. Ich habe einige Nachforschungen darüber angestellt, wie Powershell Arrays erstellt, aber ich bin ein wenig verwirrt und so hoffte ich, dass jemand hier in der Lage sein könnte, mich in die richtige Richtung zu lenken.
Danke für Ihre Hilfe.
$ array = (dir * .txt) .FullName
$ array ist jetzt eine Liste von Pfaden für alle Textdateien im Verzeichnis.
Ich glaube, das Problem ist, dass Ihre foreach
-Schleifenvariable $item.name
ist. Was Sie wollen, ist eine Schleifenvariable namens $item
, und Sie werden auf die name
-Eigenschaft auf jedem zugreifen.
I.e.,
%Vor% Beachten Sie auch, dass% $item.name
nicht zugewiesen wurde. Wenn das Ergebnis in Powershell nicht in einer Variablen gespeichert, an einen anderen Befehl weitergeleitet oder anderweitig erfasst wird, wird es in den Rückgabewert der Funktion eingeschlossen.
Tags und Links arrays directory powershell function folder