ByteJoiner PowerShell Script

Spread the love

Per petició d’un colega, he fet aquest script, partit del codi del ByteSplitter però en aquest cas fa el contrari i la font són 4 fitxers.

Si tenim 4 fitxers de la materixa longitud i plens amb cada escun els mateixos caràcters (aaa… bbb… ccc… ddd…) el resultat final seria un fitxer 4 vegades la longitud original amb el seguent contingut

abcdabcdabcd….

Function doSomething() {
    $ProgressBar1.value = 0
    # Read the entire file to an array of bytes.
    $bytes1 = [System.IO.File]::ReadAllBytes($sourcePath1.text)
    $bytes2 = [System.IO.File]::ReadAllBytes($sourcePath4.text)
    $bytes3 = [System.IO.File]::ReadAllBytes($sourcePath5.text)
    $bytes4 = [System.IO.File]::ReadAllBytes($sourcePath6.text)
    $size = $bytes1.count
    $byte = @(0) * ( $size*4 )
    for ($i=0; $i -le $size-1; $i++) {
        $byte[(4*$i)] = $bytes1[$i]
        $byte[(4*$i)+1] = $bytes2[$i]
        $byte[(4*$i)+2] = $bytes3[$i]
        $byte[(4*$i)+3] = $bytes4[$i]
        $ProgressBar1.value = ( $i / $size ) * 100
    }
    $ProgressBar1.value = ( $i / $size ) * 100
    [System.IO.File]::WriteAllBytes($destinationPath.text + '.joint', $byte)
    [System.Windows.MessageBox]::Show('Done')
}

Semblant al ByteSplitter, es carreguen els 4 fitxers en memòria i es crea una variable de longitud $size*4 partint del primer fitxer.

Al fitxer resultant s’afegirà l’extensió .joint.

Decàrga: ByteJoiner (144 downloads )

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.