Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell - Dateien suchen und an der gefundenen Stelle in Ordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: IRIXuser

IRIXuser (Level 1) - Jetzt verbinden

25.01.2011, aktualisiert 27.01.2011, 9863 Aufrufe, 1 Kommentar

Ich würde gern nach bestimmten Dateien suchen und diese in einen Ordner verschieben der an der gefundenen Stelle angelegt werden soll.

Hallo zusammen,

kann mir jemand behilflich sein ?

Das Problem:
Auf einem Server befinden sich sehr viele Datein mit dem namen Gutachten. Diese möchte ich finden, an der gefundenen Stelle einen Ordner anlegen und die Datei "Gutachten" in diesen Ordner verschieben.
Wenn es möglich ist, würde ich gern diesem Ordner alle Leserechte entziehen und nur Adminrechte vergeben. Natürlich auch mit der Shell...

Bsp:
Die erste Datei "Gutachten.doc" befindet sich im Verzeichnis c:\users\ich\Desktop\Gutachten.doc
Nun soll ein Ordner namens "Gutachten-Sicherung" angelegt werden und zwar dort, wo die Datei gefunden wurde. Also unter
c:\users\ich\Desktop\Gutachten-Sicherung

In diesen Ordner soll nun die Datei Gutachten.doc verschoben werden.
c:\users\ich\Desktop\Gutachten-Sicherung\Gutachten.doc

Eine weitere Datei liegt z.B. im Verzeichnis
c:\users\ich\projekte\2005\irgendwas\Gutachten.pdf
Jetzt soll wieder ein Ordner an der Stelle ...\projekte\2005\irgendwas\Gutachten-Sicherung
angelegt werden und wieder die Datei dorthin verschieben.

Mein erster Lösungsansatz:
Dateien suchen mit GET-Childitem
Ordner anlegen mit New-Item
Datei verschieben mit Move-Item

OK!

Aber wie erkläre ich der Shell das der Ordner an der gefundenen Stelle angelegt werden soll?
Muss man erst die gefunden Pfade in ein Array schreiben und dieses dann mühsam nach einem String absuchen und diesen dann weiterverwenden?

Der Teil mit den Rechten ist vorerst nicht so wichtig.
Ich würde mich sehr freuen wenn mir jemand einen zweizeiler oder so zur Verfügung stellen könnte, der mein Problem löst.

Schon mal Danke im voraus!

Viele Grüße
PL
Mitglied: IRIXuser
27.01.2011 um 15:30 Uhr
Hallo zusammen,

ich konnte das Problem selbst lösen.
Der Code hat mir geholfen hunderte Dateien zu finden einen Ordner an der gefundenen Stelle zu erstellen und die gesuchte Datei in diesen neuen Ordner zu verschieben.
Sotte jemand ein ähnliches Problem haben, ist hier ein funktionierender Lösungsansatz.

01.
# Verzeichnisliste auf Variable speichern 
02.
$list = gci .\ 
03.
# Für jede Zeile ( in jedem Ordner ) einen Ordner "Auftrag" anlegen 
04.
foreach($pfad in $list){ni $pfad\Auftrag} 
05.
#Dateien names Gutachen suchen, pfad convertieren und in eine Variable speichern 
06.
$ort = gci .\ *Gutachten* -r | convert-path 
07.
#Zeilenweise abarbeiten und Datei in Ordner verschieben 
08.
foreach($pfad in $ort){mi $pfad\Auftrag}

[Edit Biber] Codeformatierung nachgetragen - Text wird schon durch die #-Zeichen (in (ps=Zeilenkommentar; in der Forensoftware Aufzählungszeichen falsch dargestellt. [/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst PowerShell - Suche performantere Lösung für das Verschieben von XML-Nodes (9)

Frage von Kraemer zum Thema Batch & Shell ...

Windows Server
Powershell logfile nach Datei suchen (2)

Frage von krischeu zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...