Top-Themen

Aktuelle Themen (A bis Z)

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 und Get-ChildItem - Dateien eine Ebene höher schieben

Frage Entwicklung Batch & Shell

Mitglied: zerberus

zerberus (Level 1) - Jetzt verbinden

06.10.2014 um 15:54 Uhr, 2421 Aufrufe, 3 Kommentare

Guten Tag,

ich habe folgendes Problem welches ich gerne mit PowerShell lösen möchte. In einem Ordner existieren 400 Ordner, jeweils mit einem Unterordner. Die Unterordner haben immer den Namen "NEF" für Nikon Electronic Format. In diesen Unterordnern liegen als meine NEF-Dateien und je ein Jpeg und XML-File. Diese Dateien sind immer wie der oberste Ordner benannt, also zum Beispiel "Urlaub Karibik 2014". Ich muss nun in jedem Ordner das XML und das JPEG eine ebene höher schieben, also raus aus dem Ordner NEF in den Ordner "Urlaub Karibik 2014". Wie kann ich das realisieren?

Vorab herzlichen Dank
Mitglied: colinardo
LÖSUNG 06.10.2014, aktualisiert 07.10.2014
Hallo zerberus,
nichts leichter als das
dir 'c:\bilderordner\*\NEF\*' -Include "*.xml","*.jpg" -Recurse | move-item -Destination {$_.Directory.Parent.FullName} -Force
Grüße Uwe
Bitte warten ..
Mitglied: kurbach
06.10.2014, aktualisiert um 16:19 Uhr
Hier mal einige infos, wie dus dir zusammenstückeln kannst:
Alles was du suchst findest du in diesem Beispiel:
http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Rename-Fil ...
Das musst du nur noch weiter anpassen.
"rename-item" kannste vergessen, dein Befehl der Wahl lautet dann "move-item", das ziel lautet für jede datei "..\"
Damit sollteste dein skript schreiben können.
Hth,
Kay

~# get-help mi -examples
liefert in Beispiel 4 folgenden output:

C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles

Beschreibung
Mit diesem Befehl werden alle Textdateien aus dem aktuellen Verzeichnis und rekursiv aus allen Unterverzeichnissen in das Verzeichnis "C:\TextFiles" verschoben.
Im Befehl werden mit dem Cmdlet "Get-ChildItem" alle untergeordneten Elemente im aktuellen Verzeichnis (dargestellt durch den Punkt [.]) und dessen Unterverzeichnissen abgerufen, die die Dateinamenerweiterung "*.txt" aufweisen. Mit dem Recurse-Parameter wird ein rekursiver Abrufvorgang festgelegt, und mit dem Include-Parameter wird der Abrufvorgang auf Dateien im Format "*.txt" beschränkt.
Mit dem Pipelineoperator (|) werden die Ergebnisse dieses Befehls an Move-Item übergeben, mit dem die Textdateien in das Verzeichnis "C:\TextFiles" verschoben werden.
Wenn nach "C:\TextFiles" verschobene Dateien denselben Namen aufweisen, wird von Move-Item ein Fehler angezeigt und der Vorgang fortgesetzt, es wird jedoch nur eine Datei mit dem betreffenden Namen in das Verzeichnis "C:\TextFiles" verschoben. Die anderen Dateien verbleiben in ihren ursprünglichen Verzeichnissen.
Wenn das Verzeichnis "Textfiles" (oder ein anderes Element des Zielpfads) nicht vorhanden ist, tritt bei dem Befehl ein Fehler auf. Das fehlende Verzeichnis wird nicht erstellt, auch wenn Sie den Force-Parameter verwenden. Move-Item verschiebt das erste Element in die eine Datei mit dem Namen "Textfiles" und zeigt dann einen Fehler mit der Meldung an, dass die Datei bereits vorhanden ist.
Zudem werden mit Get-ChildItem standardmäßig keine versteckten Dateien verschoben. Um versteckte Dateien zu verschieben, verwenden Sie Get-ChildItem mit dem Force-Parameter.

get-help ist dein Freund ; )
Bitte warten ..
Mitglied: zerberus
07.10.2014, aktualisiert um 09:33 Uhr
Ich möchte mich an dieser Stelle ganz herzlich bei Euch beiden für eure Hilfe bedanken. Dies hat mir einige Stunden Arbeit gespart. Vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien eine Ebene höher
Frage von 918103Batch & Shell7 Kommentare

Hallo, habe diese Bat gefunden, aber diese funktioniert nur wenn ich im jeweiligen Ordner bin. for /d %%v in ...

Batch & Shell
Powershell Name des Childs bei Get-ChildItem anzeigen
gelöst Frage von reissaus73Batch & Shell2 Kommentare

Ich möchte aus der Registry Beispiel-Datensätze per PowerShell folgende Informationen auslesen und angezeigt bekommen. ProductName, Installationsdatum, XML-Version und natürlich ...

Batch & Shell
Bestimmte Dateien aus Unterordner eine Ebene höher verschieben
gelöst Frage von OOmatrixOOBatch & Shell2 Kommentare

Hallo. Ich habe folgende Ausgangssituation: Hauptordner Ordner x Unterordner x Ordner y Unterordner y usw. Ich möchte nun die ...

Batch & Shell
Powershell Get-Hotfix Script
Frage von u0206084Batch & Shell3 Kommentare

Hallo Kollegen, ich möchte die Hotfixes der Server auslesen hierzu , habe ich verschiedene Powershellscripte gefunden. Script 1: (Funktioniert ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...