Powershell e par2 linha de comando

2

Eu tenho um script de trabalho que 7zips sql bak arquivos para um local de rede (ajudado pelas pessoas boas aqui :)). desde 7zip não tem registros de recuperação eu gostaria de usar par2. agora, eu montei um script que (eu não estou surpreso, porque eu realmente não conheço o powershell) não funciona.

Script:

$path = "\server\BACKUP\temp"

$dest = $path

$mask = "*.zip"

$files = dir $path -Include $mask

foreach ($file in $files)

{

C:\PAR\par2.exe c -r10 -n1 -m1024 "$dest\($file.basename).par2" $file

}

eu acho que não estou longe, mas a solução me escapa: (

ty antecipadamente.

    
por JohnnyP 20.04.2016 / 14:27

1 resposta

0

Não estou ciente de como a função par2.exe, portanto, supondo que todos os argumentos do seu plugin para o par2.exe sejam válidos. Eu comentei a última linha com um "#", que deveria executar o comando. Por favor, execute o script primeiro para verificar se a saída de impressão é exatamente o que você precisa para executar, em seguida, remova o "#" inicial da última linha para executar o comando.

$path = "\server\BACKUP\temp"

$dest = $path

$mask = "*.zip"

$files = get-childitem $path | where-object {$_.name -like $mask} 

$PARCMD = "C:\PAR\par2.exe"

foreach ($file in $files)

{
    $arg = $dest + "\" + $file.name + ".par2"
    $PARArgs = @("c","-r10","-n1","-m1024",$arg,$file)
    write-host $PARCMD $PARArgs
    #& $PARCMD $PARArgs
 }

Estou usando o powershell 4.0, mas acho que isso deve ser compatível com o 2.0 / 3.0, por favor, poste o erro aqui, se você receber algum, eu ajudarei.

    
por 21.04.2016 / 05:55