2017-07-28 4 views
0

Après avoir créé un fichier zip, j'aimerais ajouter une confirmation si elle a réussi.Test booléen si une archive est corrompue

Start-Process -FilePath "$env:ZRoot\7z.exe" -ArgumentList "t D:\MyBackup\Log5.zip *.* -r" -Wait -PassThru 

Je reçois cela comme une sortie:

Handles NPM(K) PM(K)  WS(K) VM(M) CPU(s)  Id ProcessName                                                

------- ------ -----  ----- ----- ------  -- -----------                                                
    4  2  248  1088  6  0.02 10236 7z     

Comment capturer un test booléen à partir de la ligne de commande, si un fichier zip est corrompu?

Répondre

1

Vous n'avez pas besoin de Start-Process. Exécutez simplement la commande et vérifiez la variable $LASTEXITCODE (c'est-à-dire, le code de sortie de l'exécutable). Selon la documentation 7-Zip, un code de sortie différent de zéro indique une erreur. Exemple (non testé):

& $(Join-Path $Env:ZRoot "7z.exe") t "D:\path name\whatever.zip" 
if ($LASTEXITCODE -ne 0) { "There was an error" } 
+0

& "$ env: ZRoot \ 7z.exe" t "D: \ MyBackup \ Log5.zip" Si ($ LASTEXITCODE -ne 0) {Write-Error « La sauvegarde est corrompu. "} – Phoenix14830