-
Gesamte Inhalte
2.091 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von BOfH_666
-
Powershell-Script zum automatischen verschieben von Dateien anhand des Dateinamens
BOfH_666 antwortete auf ein Thema von Warlord205 in: Windows Forum — Scripting
Wow .... nachdem ich das gelesen hatte und auch versucht hatte, den Code zu verstehen, musste ich mich erstmal ne Weile sammeln und versuchen wieder geradeaus zu denken. Ich hab dann erstmal aufgegeben, zu versuchen, den Code zu verstehen. Ich hab schon ne ganze Weile nicht mehr so ein unstrukturiertes Vorgehen gesehen. Es wird also auf dem zentralen Rechner bereits eine Verarbeitung der Daten vorgenommen, richtig? Warum werden die Daten dort nicht "fertig" verarbeitet? Mit welchem Tool/Prozess werden die Daten dort vorverarbeitet? Warum wird dieser Prozess nicht dahingehend erweitert, dass das Ergebnis dem gewünschten entspricht. Im Grunde geht es also darum, Dateien anhand ihrer Namensbestandteile in verschiedene Ordner zu verschieben, richtig? Dafür gibt es bereits mindestens hunderte Beispiele überall dort zu finden, wo man solche Fragen findet. Also PowershellGallery, StackOverflow, Powershell.org oder MSFT Technet ScriptGallery usw. ... oder eben sogar hier im Forum ... schonmal dort oder hier nach Beispielen gesucht? ... man muss das Rad ja nicht immer und immer wieder neu erfinden. Dazu noch ein Wort: Es haben sich also ziemlich schlaue Leute die Mühe gemacht, ein ziemlich aufwändiges Tool zu programmieren, um den Prozess des Umbenennens und Verschiebens von Dateien zu vereinfachen. Könnte es da nicht möglich sein, dass das Tool so flexibel gestaltet wurde, dass man eventuell einen der Schritte weglassen könnte, wenn man ihn grad mal nicht braucht? ... also z.B. man Dateien nur verschiebt und nicht umbenennt ..... Vielleicht lohnt sich ja doch ein zweiter etwas intensiverer Blick auf das Tool. OK ... jetzt zum eigentlichen Problem ... die Daten liegen also unstrukturiert vor (ja, ich sehe, dass da ein Struktur existiert, aber die hilft uns nicht, weil wir sie nicht nutzbringend verwenden können.) Wenn ich es richtig verstanden habe - Deine Erklärungen/Beispiele sind in diesem Punkt einigermaßen vage - haben alle Dateien, also sowohl die Zip-Dateien wie auch die Bild- und Log-Dateien, im Datei-Namen den Fahrzeugtyp, die Fahrzeugnummer, das Datum und die Zeit "codiert". Wie Du Dateinamen an den vorhandenen Trennzeichen aufsplittest, hast Du also schon gelernt. Dann brauchst Du doch jetzt nur noch die Bestandteile zu benutzen, um den gewünschten Zielordner zusammenzubauen. Also wenn das wirklich alles ist, sollte der folgende Schnipsel ausreichen ... $SourceFolder = 'C:\Messdaten' $TargetFolder = 'C:\Zielverzeichnis' Get-ChildItem -Path $SourceFolder -File -Recurse | ForEach-Object { $SplittedFileName = $_.BaseName -split '_' $CarType = $SplittedFileName[0] $CarNumber = $SplittedFileName[1] $Date = $SplittedFileName[2] if ($_.Extension -eq '.zip') { $Destination = $TargetFolder, $Date, ($CarType + '-' + $CarNumber), 'Messdaten' -join '\' if(-not (Test-Path -Path $Destination -PathType Container)){ New-Item -Path $Destination -ItemType Directory } Move-Item -Path $_.FullName -Destination $Destination } else { $Destination = $TargetFolder, $Date, ($CarType + '-' + $CarNumber), 'Cut-Daten' -join '\' if (-not (Test-Path -Path $Destination -PathType Container)) { New-Item -Path $Destination -ItemType Directory } Move-Item -Path $_.FullName -Destination $Destination } } Wie immer .... bitte vorher mit Test-Daten testen und ich übernehme keine Garantie für gar nix. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
Was wirklich Offizielles gibt es meines Wissens nicht. Ich verwende inzwischen meistens die Formatierung, die der PS-ScriptAnalyzer in VSCode automatisch vorgibt ... Scripter sind halt tendenziell eher faul. Das Einzige, was in Richtung "Standard-Werk" geht ist, glaube ich, The Unofficial PowerShell Best Practices and Style Guide. Edit: Seit PS 7 kann man ja sogar die Pipe in die nächste Zeile rücken und es läuft trotzdem noch .... very strange Das macht es zwar manchmal einfacher eine einzelne Zeile während des Debuggings einfach mit F8 auszuführen ohne auf die folgende Pipe achten zu müssen, aber es sieht irgendwie komisch aus. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
Du hast es runiniert!!!! ... neee ... und für "rock stable" ist der Empfänger zuständig ... nicht die kreativen Problemlöser-Köpfe, die hier die Ideen liefern ... die können sich nicht mit so profanen Dingen wie Error-Handling oder so'n Schmus aufhalten lassen .... -
Powershell-Script zum automatischen verschieben von Dateien anhand des Dateinamens
BOfH_666 antwortete auf ein Thema von Warlord205 in: Windows Forum — Scripting
Dennis, hallo und willkommen ... Weil wir irgendwann vermutlich sowieso dahin kommen ... erzählst Du uns bitte gleich, woher die Daten kommen und warum sie neu in andere Ordner sortiert werden sollen? Du suchst .... !? ... und wie wär's mit selber schreiben? ich würde damit anfangen, die Grundlagen von Powershell zu erlernen. Was hast Du denn schon versucht? ... und wo hast Du denn schon überall gesucht? Solche oder ähnliche Fragen wurden quer durchs Internet und auch hier schon gefühlt tausendfach gestellt und beantwortet. Das letzte Mal ist hier im Forum - wie Martin schon oben bemerkt hat - nicht lange her. Und es muss auch nicht immer ein Script sein ... im oben bereits verlinkten Thread ist auch ein Hinweis auf das "Bulk Rename Utility" ... das kann sowas auch https://www.bulkrenameutility.co.uk/#mainscreen . -
Da waren Telefone aber auch noch fast ausschließlich zum Telefonieren da ... dafür werden die meisten Smartphones ja heutzutage am wenigsten benutzt.
-
Hinter jedem starken Mann steht eine starke Frau ....
-
... und wenn sie der Opa dann fragt "Hast Du was gesagt?", antwortet sie nur "Nein, das war gestern" ....
-
... zur Not ziehst Du halt um ....
-
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
Wat'n Pech. Ich fahre nie weiter als bis Oberfranken. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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!! -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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 -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
.... 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] } -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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 ) } -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
.... 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. -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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!!! -
Dateien mit gleichen Buchstaben am Anfang in neu zu erzeugenden Ordner verschieben
BOfH_666 antwortete auf ein Thema von LEDZEPPELIN in: Windows Forum — Scripting
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. -
Programm per GPO als zeitverzögert als Admin ausführen
BOfH_666 antwortete auf ein Thema von info@vision4d.de in: Windows Server Forum
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. -
Bitlocker mit TPM via PS aktivieren und Kennwort als Datei speichern
BOfH_666 antwortete auf ein Thema von nutzer123456 in: Windows Forum — Scripting
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? -
Bitlocker mit TPM via PS aktivieren und Kennwort als Datei speichern
BOfH_666 antwortete auf ein Thema von nutzer123456 in: Windows Forum — Scripting
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? -
Kann ein MS SQL Server in der Cloud betrieben werden?
BOfH_666 antwortete auf ein Thema von magicpeter in: Windows Server Forum
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.