Come faccio ad aggiungere fileversion a un oggetto contenente un numero di nomi di file?


1

Ho cercato una risposta a questa domanda, ma non riesco a scoprire come aggiungere un oggetto creando una coppia di set di dati di nome file e versione e il nome file wsp o cab originale correlato.

Ho uno script che invia passa attraverso i file WSP in una cartella, cambia l'estensione in CAB e quindi l'output in CSV, il nome del file CAB e le DLL in esso contenute in CSV. Mi è stato chiesto di includere la versione del file dll con il nome del file dll separato da uno spazio (o qualche altro carattere), ad esempio myfirst.dll 1.02.03; mysecond.dll 1.2.0.0 ecc. Accoppiato con il nome del file cab.

Script originale (senza versione del file):

Get-ChildItem C:\WSP\* -Include *.wsp,*.cab | Rename-Item -NewName {$_.basename+".cab"} -PassThru | Foreach {
        $files = (expand -d ($_.fullname)) -match "dll$" | Foreach {($_ -split ": ")[1]}
        New-Object PsObject -Property @{
            CabName = $_.basename
            DllNames = $files -join ";"
        }
    } | Export-Csv C:\WSP\result.csv -NoTypeInformation

Script modificato:

Get-ChildItem C:\WSP\* -Include *.wsp,*.cab | Rename-Item -NewName {$_.basename+".cab"} -PassThru | Foreach {
        $files = (expand -d ($_.fullname)) -match "dll$" | Foreach {($_ -split ": ")[1]}
        $allinfo=(New-Object PsObject -Property @{
            CabName = $_.basename
            DllNames = $files -join ";"
        })
        $version=(Get-Command $files) |$_.FileVersionInfo.fileversion
        $allinfo add-member -membertype noteproperty -name Version -value Sversion -join "; "
            } | Export-Csv C:\WSP\result.csv -NoTypeInformation

Quando viene eseguito - PS si trova lì - devo digitare ctrl + C per farlo uscire dall'esecuzione.

Qualcuno può avvisare per favore cosa sto facendo di sbagliato.

Grazie,

Graham

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.