Jump to content
Highlyeducatedmen

Powershell Daten verschieben und umbenennen

Empfohlene Beiträge

Hallo

 

Ich bin Powershell Neuling und muss ein Script schreiben das die unten angeführten

Bedingungen erfüllt. Ich habe versucht dies zu machen doch jetzt stehe ich an.

Bitte um Hilfe, Fehler aufweisen  und Tipps  :rolleyes:

 

#Wir haben einen Spirographen welcher seine Ergebnisse auf einen 

#lokalen Ordner ablegt. Da das Programm keinen Zugriff hat auf 

#diesen Ordner hat gehören die Daten verschoben. Die Aufgabe lautet baue ein 

#Script das alle Dateien im Ordner findet, danach umbennent in der Syntax  aktuelles 

#Datum,Spirograph, Dateierstellungsdatum, Laufende Nummer 

#(Beispiel DDMMYY_Probant_DDMMYY_LFnr bzw. 010817_Spirograph_010817_01) danach sollte 

#das Ganze in einen anderen Ordner kopiert werden auf einen anderen Rechner, sprich 

#beachte Zugriffrechte. Zusätzlich sollte im selben Ordner wo der Spirograph hin 

#schreibt die Datei kopieren in den Ordner Archiv. Das gesamte Script muss Silent 

#ausgeführt werden und bei einem Fehler dies in einer Datei ausgeben, dazu überlege 

#dir wie man das automatisiert das diese Daten Zeitnah übertragen werden.

 

 

$pfad = 'C:\Documents\TEST'

$Files = Get-ChildItem -Path $Path -Recurse -Include *.txt

 

foreach ($File in $Files){

 

    $OldPath = $File.FullName

    $Date = get-date -format 'M.d.yyyy '

    $OldDate = gci -file | select name,creationtime

 

 

    $NewName = $Date + ($OldPath.Substring($OldPath.Length - 7, 7)) + "$OldDate" + ' ';

 

    Rename-Item -Path $OldPath -NewName $NewName

}

 

$Copy = Get-ChildItem -Path $Path -Recurse -Include *.txt

foreach ($File in $Copy){

    Copy-Item $File C:\Documents\Test2

}

 

 

Danke schon im vorhinein :)  :jau:

bearbeitet von Highlyeducatedmen

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

ja dachte ich mir auch nur leider hat das nach ein paar Änderungen nicht mehr funktioniert

auch nachdem ich den ausgangs zustand in dem es noch funktioniert hat wieder hergestellt hatte

hat es nicht mehr funktioniert :(

 

des halb dachte ich es findet hier jemand den(die) Fehler in meinem Script und könnte mir helfen  :rolleyes:

 

Mfg

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Dein Problem ist das Verständnis der Objekte mit denen du jonglierst. Da fehlen Dir die Basics. Da jedes Objekt anderst ist, musst du dich jedes mal auch dem anpassen. Sollte Dir nun jemand die Lösung posten, dann bringt dich das m. M. nach nicht weiter und du landest bei der kleinsten Veränderung wieder hier. 

 

Ein guter Anfang ist immer sich mal mit einem Befehl und dessen Ausgabe genauer auseinanderzusetzen. 

Get-ChildItem -Path "C:\Windows" -File | Get-Member 

"Get-Member" ist hierfür ein wichtiger Befehl für Dich um die "Eigenschaften und Funktionen" eines Objektes abzufragen. Das Ergebnis ist "System.IO.FileInfo". 

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Neben dem lernen der Grundlagen, was dir ja schon nahegelegt wurde, solltest du dich langsam an das Problem tasten.

Teil das Programm auf und mach ein Schritt nach dem anderen.

 

Du brauchst erstmal die einzelnen Teile der Datei:

 

aktuelles Datum,Spirograph, Dateierstellungsdatum, Laufende Nummer (Beispiel DDMMYY_Probant_DDMMYY_LFnr bzw. 010817_Spirograph_010817_01)

 

$date = Get-Date -Format 'ddMMyy'

$spirograph = $file.BaseName

$fileDate = Get-Date $file.CreationTime -f 'ddMMyy'

$i = # Woher nimmst du diese? Muss die je durchlauf eindeutig sein? Dann erstelle einen Zähler in der Schleife.

 

Dann kannst du den neuen Dateinamen zusammenbauen.

 

$newName = "$date_$spirograph_$fileDate_$i"

 

usw.

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×