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, 9812 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
Neue Wissensbeiträge
Windows 10

Plattformdienst für unbekannte Geräte (7023)

Tipp von KMUlife zum Thema Windows 10 ...

Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Windows Server Komplettspiegelung (15)

Frage von pdiddo zum Thema Windows Server ...

Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...