Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.091
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. ... is ja nich so, als gäbe es sowas gar nicht mehr ... https://www.nokia.com/phones/en_int/nokia-150 Falls Interesse besteht ... gibt's bei Amazon für unter 50 Euronen ... vielleicht spricht man dann auch wieder öfters miteinander ...
  2. Na, Du wolltest doch die verschiedenen Versionen, abhängig von der angehängten Versionsnummer in verschiedene Ordner kopieren/verschieben, oder? Das ist jetzt die Stelle dafür. Und dafür wäre jetzt vielleicht ...
  3. OMG ... jetzt geht die übliche REGEX-Haarspalterei los ... .. .eigentlich haben wir dafür zu wenig Info von Dirk. Also denn ... angenommen der Dateiname ist länger und komplexer ... $BaseName = 'BlaKeksDateiG1234undsoweiterg12349876Ende' $BaseName -match '(?<Prefix>.*)(?<GNumber>G\d+)(?<Suffix>.*)' $Matches ... liefert ... Name Value ---- ----- Suffix Ende GNumber g12349876 Prefix BlaKeksDateiG1234undsoweiter 0 BlaKeksDateiG1234undsoweiterg12349876Ende Die gewünschten Bestandteile sind enthalten, Prefix und GNumber liefern aber nicht die Ergebnisse, die laut Frage erwartet werden.
  4. Genau. Darum geht es Dir ja schließlich. Du hast jetzt die Dateien, die sich nur in der Versionsnummer unterschieden jeweils in einer eigenen Gruppe. Von da aus kannst Du - gemäß Deinem Ablaufplan - weitermachen.
  5. Keine Angst .... an der Stelle waren wir alle mal ... Wie Nils schon angeregt hatte, ist es - gerade bei etwas komplexeren Aufgabenstellungen - hilfreich, wenn man sich das Ganze mal aufschreibt/visualisiert. Am bestem mit einem Ablaufdiagramm/Entscheidungsbaum. Das ist sehr praktisch. Nicht immer sind die Tipps, die man bekommt, auch wirklich hilfreich. Auch wir können mal falsch liegen. Am Ende entscheidest Du, welche Hilfe Dich weiterbringt und welche Tipps zu benutzen möchtest oder nicht. Die Möglichkeit, die Dateinamen an den Unterstrichen aufzutrennen, heißt ja nicht zwingend, dass das genau so auch hilfreich ist. In Deinem Fall willst Du ja vermutlich nur den variablen Teil abtrennen. Dafür kann man auch andere Methoden benutzen, wenn man damit besser zurechtkommt. Ich bin jetzt mal von den im ersten Beitrag geposteten Dateinamen ausgegangen (UDE_Q_AF0001_Testdokument.docx) und davon, dass die Versionierung auch durch einen Unterstrich vom Rest des Dateinamens abgetrennt ist. Hier mal meine Idee: $Path = 'C:\Test\Dokumenten_Container' $Filter = '*_AF0*.pdf' $FileList = Get-ChildItem -Path $Path -Filter $Filter | Select-Object -Property *, @{Name = 'PartlyFileName'; Expression = {($_.BaseName -split '_')[0..3] -join '_'}} $FileList | Group-Object -Property PartlyFileName Das Ergebnis sollte dann ungefähr so aussehen: Count Name Group ----- ---- ----- 5 UDE_Q_AF0001_Testdokument {@{PSPath=Microsoft.PowerShell.Core\FileSystem::C:\Test\Dokumenten_Container\UDE_Q_AF0001_Testdokument_00.pdf;... 3 UDE_Q_AF0002_Testdokument {@{PSPath=Microsoft.PowerShell.Core\FileSystem::C:\Test\Dokumenten_Container\UDE_Q_AF0002_Testdokument_02.pdf;... 2 UDE_Q_AF0003_Testdokument {@{PSPath=Microsoft.PowerShell.Core\FileSystem::C:\Test\Dokumenten_Container\UDE_Q_AF0003_Testdokument_00.pdf;...
  6. Wenn es hier um Scripting geht und Code, ist es keine gute Idee, Sachen nur zu beschreiben. Du gehst ja auch nicht zur KFZ-Werkstatt und beschreibst das Problem, das Du mit Deinem Auto hast - Du bringst das Auto mit. Also poste doch einfach den Code, den Du benutzt, eventuelle Fehlermeldungen, die Du bekommst und eine kurze Erklärung, was Deiner Meinung nach nicht funktioniert wie erwartet. Ich hatte Dir weiter oben eine Doku verlinkt, die den Operator "-split" erklärt. Da sind auch immer Beispiele dabei. Probier ruhig das ein oder andere und "spiel ein bissl rum" mit den Befehlen. Man lernt eine komplexe Technologie wie PowerShell nicht in 2 Stunden. 'Das_hier_ist_ein_Beispiel' -split '_'
  7. Na das hättest Du auch gleich sagen können. $BaseName = 'DateiG1234' $BaseName -match '(?<FesterTeil>Datei)(?<VariablerTeil>G\d{4})' $NewBaseName = $Matches.VariablerTeil + $Matches.FesterTeil | Out-Null $NewBaseName
  8. ... ich war mir da nicht ganz sicher ... deshalb frug ich lieber nochmal nach. Ich konnte mir nicht erklären, warum man das an dieser Stelle auf diese Weise abkürzen sollte.
  9. Supi. Klingt wie ein guter Plan. Und wobei brauchst Du da jetzt Hilfe?
  10. Das ist ein bissl nebulös. Wobei genau brauchst Du denn Hilfe? ... und auch wenn Du die Frage hier beriets im Scripting-Forum gestellt hast ... ist das eine regelmäßige Aufgabe? Falls nicht, tun es vielleicht auch Tools wie TotalCommander oder FreeCommander oder irgend ein Multi-Rename-Tool. Die können so was auch. Falls es ein Script sein soll, wäre meine Empfehlung es mit PowerShell zu machen. Wenn Du in dieser Richtung einen Schubs möchtest, beginnst Du vielleicht mit den folgenden Doku-Themen: Get-ChildItem Foreach-Object Move-Item Where-Object about_Comparison_Operators
  11. ... vorher nass machen, nicht vergessen!!
  12. ... huch ... ich glaube, ich hatte ein paar Weinbrandbohnen zu viel ....
  13. Vielleicht für den Anfang noch ein ganz allgemeiner Tipp: Du machst Dir und anderen das Leben leichter, wenn Du Deinen Code leicht lesbar schreibst. Dazu gehört unter anderem das ein oder andere Leerzeichen zwischen Variablen, Operatoren und Werten, Parameternamen möglichst explizit anzugeben, "sprechende" Variablennamen, Zeilenumbrüche, wo sie die Lesbarkeit erhöhen und Einrückungen. Hier nochmal ein bissl was zum Nachlesen: The PowerShell Best Practices and Style Guide Da Du ja nur Teile der Dateinamen vergleichen möchtest, hilft es Dir vielleicht, die Dateinamen auch in ihre "Bestandteile" zu zerlegen. Und dass die Dateinamen offenbar bereits eine Struktur haben, macht es natürlich einfacher. Du könntest also z.B. den "BaseName" jeder Datei - also den Dateinamen ohne Endung - mittels -Split '_' an den Unterstrichen auftrennen und dann mittels Group-Object schon mal ganz einfach die zusammengehörigen Dateinamen ermitteln. Eventuell hilfreich für Deine Aufgabe könnten auch noch calculated Properties sein. Damit kannst Du Objekten Eigenschaften hinzufügen, die sie noch nicht von selbst haben .... about_Calculated_Properties.
  14. Nein. Genau das meinte ich. Den ersten Lesestoff hat Dir Jan weiter oben ja bereits genannt. Weiter hilfreich ist dann bestimmt auch noch das hier: about_Split about_If about_Switch everything_about_Switch ... ich freu mich schon auf Deinen ersten Code.
  15. Zur Unterstützung der Fehleranalyse könntest Du regelmäßig "von außen" die eingestellte Zeit abfragen. So könnte man wenigstens ermitteln wann, die Zeit wieder umgestellt wird.
  16. Hmmm ... ja - man könnte das per PowerShell machen, aber was mir noch fehlt, ist die Info was denn dann mit den kopierten/verschobenen Dateien jeweils am Zielort gemacht werden soll.
  17. ... oder dism /online /Get-CurrentEdition zeigt (unter anderem) auch die Edition an ... das geht auch in CMD.
  18. Hmmm ... läuft das nicht auf ein einfaches Backup hinaus? Wenn Du die Quelldateien nicht "ausdünnen" darfst, macht es vermutlich auch keinen Sinn, weniger als den aktuellen Status zu sichern, oder? Vermutlich schon ... solange Du klar formulieren kanns, was genau Du möchtest, kann man es vermutlich in Code umsetzen.
  19. ... und die zugreifenden Konten auf dem NAS berechtigen ist keine Option?
  20. ... nur ne Idee ... könnte es sein, dass IrfanView ein Problem damit hat, wenn es nicht in einer interaktiven Session läuft?
  21. Ich dachte das galt nur, wenn Du von Sensei Miyagi san Karate oder Master Pai Mei Kung Fu lernen willst.
  22. ... nur, um es wenigstens einmal erwähnt zu haben: Wenn Du jetzt anfängst zu programmieren oder skripten, solltest Du nicht mehr mit VBS oder CMD anfangen. Such Dir ein gutes Einsteiger-Tutorial oder Buch für PowerShell und starte damit. Das wird Dir auf lange Sicht, ne Menge verschwendete Zeit und Frustration ersparen.
  23. Das wär aber ungünstig, oder? Genau die Dateien will @MitchAndi doch behalten.
  24. .... wenn's nich anders geht ... ... offenbar ist ja eine professionelle Lösung nicht gewollt.
  25. Warum nicht?
×
×
  • Neu erstellen...