Jump to content

BOfH_666

Expert Member
  • Gesamte Inhalte

    2.035
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von BOfH_666

  1. Mir geht's da wie Martin - ich sehe auch ein Muster. Wir suchen also nach *,mkv-Dateien, und den im Namen dazu passenden *.nfo-Dateien und im Namen dazu passenden *.jpg-Dateien, die aber noch fanart und poster angehängt haben. Wenn die Dateinamen wirklich diesem Schema entsprechen, sollte der folgende Schnipsel, das tun, was Du willst (also das, von dem ich glaube, dass Du es willst) .... $StartFolder = 'D:\Test' $TargetFolder = 'D:\Archiv' Get-ChildItem -Path $StartFolder -File -Filter *.mkv | ForEach-Object { $BaseName = $_.BaseName $Destination = Join-Path -Path $TargetFolder -ChildPath $BaseName if (-not(Test-Path -Path $Destination -PathType Container)) { New-Item -Path $Destination -ItemType Directory | Out-Null } Move-Item -Path $_.FullName -Destination $Destination $nfo = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '.nfo') Move-Item -Path $nfo -Destination $Destination $poster = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '-poster.jpg') Move-Item -Path $poster -Destination $Destination $fanart = Join-Path -Path $_.Directory -ChildPath ($_.BaseName + '-fanart.jpg') Move-Item -Path $fanart -Destination $Destination } ... bitte erst an Test-Daten testen!!
  2. Deine Aufgabe ist ja auch sehr komplex. Mit regulären Ausdrücken (regular Expressions) kann man sehr komplexe Auswahl-Kriterien erzeugen und es wäre sehr wahrscheinlich noch ein teilweise manueller Prozess. Aber er macht die Sache leichter.
  3. Wenn's quasi ne einmalige Aktion sein soll, finde ich Damians Vorschlag in Deinem Fall nicht schlecht. ... geht eventuell schneller und ist am Ende weniger Arbeit. Ja, genau da ist das Problem - "... sehen fast alle so aus ..." Das kommt darauf an - eventuell eben nicht. N' Vorschlag zu Güte ... und weil bald Weihnachten ist: Wenn es nicht gerade Pornos sind und auch sonst keine irgendwie kompromittierenden Sachen und Du bereit wärst, die Informationen hier mit uns zu teilen, dann poste doch hier einfach mal ne *.txt-Datei mit der kompletten Datei-Liste und wir können versuchen was zusammenzuzimmern. Code als Code formatieren bitte! .... und wenn Du wissen möchtest, ob eine Idee von Dir funktioniert, kannst Du's einfach testen. ... nicht gleich Kopieren oder Verschieben, sondern erstmal nur die Ergebnisse ausgeben lassen
  4. Es geht alles, was Du so formulieren kannst, dass es auf ALLE Dateien im Verzeichnis passt. Wenn Du bei ALLEN *.jpg-Dateien die letzten 7 Zeichen ignorieren kannst, geht es. Aber je komplexer Dein Regelwerk wird, desto fragiler und anfälliger für Fehler wird es auch. Und Deine Beispiele sehen bisher jedes mal anders aus.
  5. Das ist, was ich mit "Regel" meinte. Wenn es nicht möglich ist, die Kriterien in einem technischen Algorithmus zu formalisieren, sondern ein "kreativer Akt" oder semantisches Verständnis nötig ist, dann ist das mit einem Script vermutlich nicht so einfach lösbar. Dann ist es wohl am zielführendsten, wenn Du die entsprechend "vorsortierst". Also die zusammengehörigen Dateien in ein Verzeichnis und dann das Script starten.
  6. .... aber es sind ja offenbar nicht nur Dateien im Ordner, die mit Auto anfangen, oder? Also würden schon Dateien die mit "B" anfangen Deiner Regel widersprechen ... Lass doch mal folgendes Schnipsel bei Dir laufen und schau, ob das ungefähr dem entspricht, was Du an Ordnernamen haben wollen würdest: $StartFolder = 'D:\Test' Get-ChildItem -Path $StartFolder -File | ForEach-Object { $_.Name -match '([a-z]*)' | Out-Null $Matches[1] }
  7. Yeaaahhh ... ich glaub, den Groschen hab ich jetzt bis hier fallen gehört. Es ist ALLES machbar, was Du scripten kannst. Du kannst das beliebig komplex gestallten und haarklein auf Deine Umgebung zuschneidern. Ich bin nur etwas skeptisch, ob Du schon die nötigen Kenntnisse hast. ... und ich bin mir nicht sicher, ob wir schon das "komplette Bild" von Dir gezeigt bekommen haben. Gibt es irgendeine "Regel", die Du formulieren könntest, um einem Unbeteiligten zu erklären, wo jeweils die Grenze zu ziehen wäre? Edit: Nach der jetzigen Beschreibung würde ich vermuten: Alle Zeichen bis zum ersten "Nicht-Wort-Zeichen" oder eher [a-z]* ... wenn Du verstehst, was ich meine.
  8. Schade. Ich hatte gehofft, dass Du es so erkennen kannst. Du hast also im Ordner "D:\Test" Dateien, deren 7 Anfangsbuchstaben, Du für die Erstellung eines neuen Ordners benutzen möchtest. Die erste Datei ist offenbar "Dateienverschieben.bat" der komplette Pfad der Datei ist "D:\Test\Dateienverschieben.bat". Und von diesem kompletten Pfad - von $Test.FullName, benutzt Du die ersten 7 Zeichen!!!! Was sind die ersten 7 Zeichen vom kompletten Pfad? Richtig - "D:\Test". Und das ist der Grund, warum nicht das passiert, was Du erwartest.
  9. Mit $AnzahlZeichen = 7 und dem Start-Ordner D:\Test kann da auch nicht viel passieren. Lass Dir doch einfach mal die Werte ausgeben, mit denen das Script arbeitet. Bestimmt fällt es Dir dann auf. $AnzahlZeichen = 7 $StartFolder = 'D:\Test' foreach ( $Test in Get-ChildItem -Path $StartFolder -File ) { $Test.FullName $Test.FullName.Substring(0, $AnzahlZeichen ) }
  10. .... siehe meine Antwort von oben .... Du musst $Rechnung in $Test ändern!!! ... und übrigens, wenn Du 5 gleiche Fehlermeldungen erhältst, genügt es, wenn Du eine davon postest.
  11. OK, bitte Code als Code formatieren. Was ich meinte war, statt die "7" überall direkt hinzuschreiben, eine Variable zu benutzen ... etwa so: $AnzahlZeichen = 7 foreach ( $Test in Get-ChildItem -Path D:\Test -File ) { if (!(Test-Path -Path $Test.FullName.Substring(0, $AnzahlZeichen ))) { New-Item -ItemType Directory -Path $Test.FullName.Substring(0, $AnzahlZeichen ) } Move-Item -Path $Test.FullName -Destination $Test.FullName.Substring(0, $AnzahlZeichen ) } Dann brauchst Du, wenn Du eine andere Anzahl an Zeichen benutzen möchtest, den Code nur an einer Stelle zu ändern. ... ist keine valide Beschreibung. Was funktioniert nicht? Edit: ... und ist mir jetz grad erst aufgefallen ... Du hast beim Move-Item Befehl als -Destination $Rechnung benutzt, obwohl Du in Deinem Code $Rechnung in $Test geändert hattest!!!
  12. Was gefällt Dir denn nicht an dem Script-Beispiel im anderen Thread? Wenn Du die Anzahl der benutzten Stellen des Dateinamens variabel machen möchtest, machst Du aus der dort fest vergebenen Zahl (ich meine die "19") eine Variable und füllst diese vorher, wie Du das für richtig hältst. Edit: Ich beziehe mich übrigens auf Jans Powershell-Script-Beispiel.
  13. Ich bin ja auch immer für nachhaltige Lösungen aber ich denke man kann's auch übertreiben. Und PCs mit Core 2 Duo dürften vermutlich mindestens 10 Jahre alt sein. Meinst Du nicht auch, dass diese Rechner ihre Pflicht getan haben und ein Abschied in Würde verdient haben? Bitte lass sie nicht unnötig leiden! Und ich könnte mir auch vorstellen, dass die Produktivität der Anwender dieser PCs deutlich steigt, wenn sie zeitgemäße Arbeitsmittel gestellt bekommen.
  14. Die Reihenfolge nicht, aber die Kombination. Wenn Du Dir die Hilfe angesehen hast, wirst Du hoffentlich bemerkt haben, dass Du -TpmProtector nicht mit -RecoveryKeyprotector kombinieren kannst. Die sind nicht im gleichen Parameter-Set verfügbar. Wo willst Du denn Deinen Recovery-Key speichern? Im TPM-Chip des Computers oder in einer Datei?
  15. Hast Du Dir denn schon mal die Hilfe für Enable-BitLocker durchgelesen? Ganz besonders das Beispiel #2 und den Abschnitt über den Parameter -RecoveryKeyProtector?
  16. Hast Du denn schon mal danach gesucht? Microsoft hält mit sowas ja nicht hinter'm Berg ... https://azure.microsoft.com/de-de/services/sql-database/ ... und Amazon oder andere Anbieter von Cloud-Diensten übrigens auch nicht.
  17. Na, Du lässt es Dir ja gut gehen ....... richtig so.
  18. ... noch 'n bissl Butter dazwischen oder trocken?
  19. Hatte ich auch gelesen. Hat wohl nicht geklappt ... Spielen bestimmt auch die Kosten und die Sicherheit ne große Rolle, bei sowas ... Schade.
  20. https://www.windy.com/de/-Webcams/Norwegen/Troms-og-Finnmark/Tana-Bru/Finnmark-Fylke/webcams/1527577388?70.199,26.548,8 Das Video links oben an der richtigen Stelle angehalten, maximiert und dann ein Screenshot gemacht ...
  21. Herunterladen? Oder Herunterladen und Installieren? ... Du solltest auf jeden Fall erst mal klar artikulieren, was genau Du anstrebst.
  22. Nur als Denkanstoß - das macht im Zweifel die damit erzeugten Dokumente abhängig von der Verfügbarkeit des Fileservers. Für mobile Clients (Notebooks auf Reisen) könnte das ein Problem werden.
  23. Kannst Du bitte den Code auch als Code formatieren? Das vermeidet ungewollte Zeilenumbrüche. Man darf übrigens nach jeder Pipe ( "|" ) einen Zeilenumbruch einfügen. Das erhöht die Lesbarkeit.
×
×
  • Neu erstellen...