Durchsuchen und Auflisten von Ordnern unter Verwendung von Excel als Quelle

472
Nick87

Als Junior Systemadministrator wurde ich mit der Datenverwaltung auf unserem NAS-Gerät beauftragt.

Durch die Verwendung einer Excel-Arbeitsmappe als Quelle (die Zellen einer bestimmten Spalte dieser Arbeitsmappe) muss ich den Windows-Dateimanager verwenden, um unseren NAS-Speicherort nach Ordnern zu durchsuchen, deren Ordner den gleichen Namen wie die Zellen dieser Excel-Spalte haben.

Gibt es eine Möglichkeit, einen Plattenspeicherort zu durchsuchen, indem Sie Namen in Excel-Zellen verwenden, um die Ordner mit diesen Namen aus den Zellenspalten abzugleichen?

Ich füge ein Bild aus der Spalte und den Zellen hinzu, damit Sie eine bessere Vorstellung haben.

Excel-Spalte

0
Ja, das ist in Powershell relativ einfach. Ein großartiges Werkzeug für Systemadministratoren. PowerShell kann Excel- / CSV-Dateien auflisten, und Sie können eine Logik schreiben, um die Dateien und Ordner auf dem Laufwerk aufzulisten und festzustellen, ob sie mit Ihrer Liste übereinstimmen. Appleoddity vor 5 Jahren 0
Könnten Sie mir bitte ein paar Hinweise zu bestimmten Funktionen / Befehlen geben? Google hat bis jetzt nicht etwas Spezifisches bereitgestellt, da ich möchte, dass Powershell mir die Pfade auflistet, wo sich die Ordner befinden, da ich deren genauen Pfad nicht kenne. Ich bevorzuge eine visuellere Methode, da ich diese Ordner an einen anderen Ort kopieren muss, nachdem ich sie gefunden habe. Nick87 vor 5 Jahren 0
Vermutlich müssten Sie sich 'Get-ChildItem' und vielleicht 'Where-Object' anschauen. Man könnte Ihnen einen "Baum" geben (nicht mit dem cmd "Baum" verwechseln) und sollte es für Sie filtern können. Wenn es nicht in der Lage ist, das Filtern von "Where-Object" ausreichend zu filtern Etwas in der Art von `gci -Recurse | wobei name -like '* 1999 *' `das Ergebnis sein könnte. Seth vor 5 Jahren 0
Es ist kein einzelner Befehl. Es ist eine Reihe von Konzepten. Wie liest man Excel-Dateien? wie rekursiv der Verzeichnisbaum durchlaufen wird; So prüfen Sie, ob der String einen Teilstring in einem Array enthält. So kopieren Sie einen Ordner. Sie können auch Agent Ransack oder File Locator Pro überprüfen. Sie können boolesche Logiksuchen durchführen. Appleoddity vor 5 Jahren 0
Vielen Dank für Ihre wertvollen Informationen! Ja, ich dachte auch über die Get-Childitem-Funktion nach, da ich sie in einem anderen Job verwendet hatte, bei dem ich nur nach Dateien suchte, die größer als 300 MB auf dem NAS waren. Also dachte ich, diesmal sollte ich es verwenden, um nur Namen aus einem Excel zu finden. Aber ich dachte auch, ob es eine Funktion oder VBA auf MS Excel gibt, wo es direkt mit dem Dateimanager von Windows verknüpft werden kann und aus einer Spalte oder einer ausgewählten Anzahl von Zellen gesucht werden kann Nick87 vor 5 Jahren 0

1 Antwort auf die Frage

0
uSlackr

Wie in anderen Worten vorgeschlagen, wird dies durch ein bisschen Scripting in Powershell möglich. Wenn nicht für dieses Projekt, dann das nächste. Ich halte import-csves für das stärkste Argument, wenn ein Administrator Skript lernen sollte. Hier ist ein Beispiel, das Ihnen beim Einstieg helfen könnte

# csvtest.ps1 # assume this file name $fname = "c:\data\naslist.csv" $fcontent = import-csv $fname # assume these column names in the csv: name and size foreach ($row in $fcontent) {  write-host $row.name $row.size  }