Jump to content

LEDZEPPELIN

Members
  • Gesamte Inhalte

    32
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von LEDZEPPELIN

  1. vor 3 Stunden schrieb Sunny61:

    Du wirst hier sicher kein fertiges Script kriegen, Hilfe zur Selbsthilfe. Excel kann dir übrigens auch sehr dabei helfen. Lies dir diesen Artikel durch und lass dir eine Dateiliste mit

     

     

    
    
     

    dir /b >DeineDatei.txt

    		
    
    		

     

    jetzt hast Du alle Dateien aus dem Verzeichnis in einer TXT, die TXT in Excel imporiteren und mit deinem Copy Befehl verknüpfen, schon kannst Du kopieren und zusammenfügen. ;)

    Entweder bin ich blind oder da fehlt der Code und der Link was ich mir durchlesen soll.

    Der Excel Tip ist nett.

    Werde ich mal versuchen wenn ich die Daten ausgelesen bekomme.

     

    Noch ein Hinweis, es scheint von der HDD abzuhängen. Obwohl die Daten auf beiden Platten gleich gespeichert sind kann ich mit dem Skript von einer Platte normal zusammenfügen und von der anderen nur in der falschen Reihenfolge.

    vor 49 Minuten schrieb Dukel:

    Vielen Dank.

     

    Da hilft weiter. Wenn ich auch keine Ahnung habe wo ich die entsprechenden Befehle in das Skript einfügen muss.

  2. Ist klar. Bringt mich aber nicht weiter.

    vor 16 Stunden schrieb daabm:

    Siehe Technet-Antwort - Du wirfst copy eine unsortierte Dateiliste zum Fraß vor, da ist klar, daß dann was undeterministisches dabei rauskommt... Du mußt die Liste koordiniert zusammenbauen, siehe "copy /?".

    Und wie genau mache ich das?

    Habe mir im Netz mal die Befehle zu copy angesehen, komm aber nicht weiter damit.

    Wie wäre diese Zeile?

    Bringt mich das der Lösung näher?

     

    Get-Content (gci log_* | sort BaseName) > gesamt.log

  3. # Quellverzeichnis mit Ordnern
    $Quelle = "I:\"
    
    # Zielverzeichnis der .ts Ausgabedatei(en)
    $Ziel = "J:\ZielOrdner"
    
    # falls "\" am Ende von Ziel vergessen
    if ( $Ziel.Substring($Ziel.Length-1) -ne "\" ) { $Ziel += "\" }
    
    # falls Zielverzeichnis existiert
    if ( Test-Path -Path $Ziel -PathType Container ) {
    
        # Einlesen der Verzeichnisse im Quellordner
        $folders = Get-ChildItem -Directory -Path $Quelle
    
        # falls Ordner vorhanden
        if ( $folders.Count -ne 0 ) {
            foreach ( $ordner in $folders ) {
                # Kontrollausgabe
                $ordner.FullName
                # Name der Zieldatei
                $Stub = $Ziel + $ordner.BaseName
                # neue Datei
                $target = $Stub + ".ts"
                # bei Leerzeichen Anfuehrungszeichen hinzu
                if ( $Stub.IndexOf(" ") -ne -1 ) { $target = "`"" + $target + "`"" }
                # Suchmaske fuer Dateien im Ordner
                $files = $ordner.FullName + "\*.ts"
    
                # falls weder Zieldatei noch getestete Zieldatei vorhanden sind...
                if ( -not ( Test-Path -Path $target ) ) {
                    # bei Leerzeichen Anfuehrungszeichen hinzu wg. DOS
                    if ( $files.IndexOf(" ") -ne -1 ) { $files = "`"" + $files + "`"" }
                    # Combine per DOS-copy anwerfen
                    Start-Process -FilePath "$env:comspec" -ArgumentList "/c","copy","/b",$files,$target -Wait
                    # nach jedem Verzeichnis auf Enter-Taste warten
    #                Read-Host -Prompt "Enter..."
                }
            }
        } else { Write-Host "Keine Ordner in $Quelle gefunden." }
    } else { Write-Host "Zielverzeichnis $Ziel existiert nicht!" }

    War das jetzt so richtig? Das ist der Originalcode der schon mal funktioniert hat.

     

    Deiner Anwesiung folgend hier der Hinweis und Link das ich in zwei Foren die gleiche Frage gepostet habe:

    https://social.technet.microsoft.com/Forums/de-DE/ee06a217-d6b2-4f3d-b01e-6ddd33cf21ba/problem-mit-skript-beim-zusammenfgen-von-ts-dateien?forum=powershell_de

     

  4. Hallo,

     

    mir wurde vo einem netten Forummitglied folgendes Skript geschrieben um mehrere Teildateinen einer großen .ts Filmdatei zusammenzufügen.

    Die Dateien wurden wegen FAT32 vom TV Revciever in mehrere Teile aufgeteilt. Alle in Ordnern in denen sich folgendes befindet (Filmname.ts; Filmname1.ts; Filmname2.ts etc.)

    # Quellverzeichnis mit Ordnern
    >> $Quelle = "N:\"
    >>
    >> # Zielverzeichnis der .ts Ausgabedatei(en)
    >> $Ziel = "S:\ZielOrdner"
    >>
    >> # falls "\" am Ende von Ziel vergessen
    >> if ( $Ziel.Substring($Ziel.Length-1) -ne "\" ) { $Ziel += "\" }
    >>
    >> # falls Zielverzeichnis existiert
    >> if ( Test-Path -Path $Ziel -PathType Container ) {
    >>
    >>     # Einlesen der Verzeichnisse im Quellordner
    >>     $folders = Get-ChildItem -Directory -Path $Quelle
    >>
    >>     # falls Ordner vorhanden
    >>     if ( $folders.Count -ne 0 ) {
    >>         foreach ( $ordner in $folders ) {
    >>             # Kontrollausgabe
    >>             $ordner.FullName
    >>             # Name der Zieldatei
    >>             $Stub = $Ziel + $ordner.BaseName
    >>             # neue Datei
    >>             $target = $Stub + ".ts"
    >>             # bei Leerzeichen Anfuehrungszeichen hinzu
    >>             if ( $Stub.IndexOf(" ") -ne -1 ) { $target = "`"" + $target + "`"" }
    >>             # Suchmaske fuer Dateien im Ordner
    >>             $files = $ordner.FullName + "\*.ts"
    >>
    >>             # falls weder Zieldatei noch getestete Zieldatei vorhanden sind...
    >>             if ( -not ( Test-Path -Path $target ) ) {
    >>                 # bei Leerzeichen Anfuehrungszeichen hinzu wg. DOS
    >>                 if ( $files.IndexOf(" ") -ne -1 ) { $files = "`"" + $files + "`"" }
    >>                 # Combine per DOS-copy anwerfen
    >>                 Start-Process -FilePath "$env:comspec" -ArgumentList "/c","copy","/b",$files,$target -Wait
    >>                 # nach jedem Verzeichnis auf Enter-Taste warten
    >> #                Read-Host -Prompt "Enter..."
    >>             }
    >>         }
    >>     } else { Write-Host "Keine Ordner in $Quelle gefunden." }
    >> } else { Write-Host "Zielverzeichnis $Ziel existiert nicht!" }

     

    Das ganze funktionierte letzte Woche auch ganz gut.

    Als ich es heute gestartet habe wurden die Dateien in in der falschen Reihenfolge zusammengefügt.

    Also erst Teil3 danarn Teil2 daran Teil1 etc.

    Das macht natürlich keinen Sinn.

     

    Kann mir bitte jemand weiterhelfen und erklären wo das Problem liegt.

     

    Warum ging das letzte Woche und geht jetzt nicht mehr?

     

    Der einzige Unterschied waren die Quelle (I:\) und das Ziel. (P:\ZielOrdner)

     

    Ich bin hier echt am verzweifeln da ich riesige Mengen dieser Dateien hier habe.

     

    Bitte um Hilfe.

     

    Vielen Dank.

     

    Beste Grüße

     

    Ingo

×
×
  • Neu erstellen...