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, 9690 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Windows Netzwerk
Dateien und Ordner verschieben mit Rückfrage (1)

Frage von stefts zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...