Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Архивирование PoSH (http://forum.oszone.net/showthread.php?t=302837)

Ubiquiti 24-07-2015 15:05 2532157

Архивирование PoSH
 
Добрый день, форумчани!!! Написал скрипт он не работает в так состояние
Код:

$7z = "C:\Program Files\7-Zip\7z.exe"
    $Paramters7z = 'a', '-tzip', '-p', "000000"
    $in7z = "E:\temp\*.dt", '-ssw'
    $out7z = "E:\cloud\zup_"+$S1с+'.zip', '-mx3'
    Start-Process $7z -Wait -ArgumentList "$Paramters7z, $out7z, $in7z"

а в таком работает
Код:

$7z = "C:\Program Files\7-Zip\7z.exe"
    $Paramters7z = 'a', '-tzip', '-p' "000000"
    $in7z = "E:\temp\*.dt", '-ssw'
    $out7z = 'E:\cloud\zup_'+$S1с+'.zip'
    & $7z $Paramters7z $out7z $in7z

В чем может быть проблема. Мне нужно запускать через Start-Process

Foreigner 24-07-2015 15:12 2532159

Почему обязательно через start-process? И какой процесс вы запускаете, что за "zip"?

Ubiquiti 24-07-2015 15:14 2532160

Потому что за тем у меня архив копируется на ftp сейчас работает через задержку

процесс 7z т.е. как бы он работает черный экран пробегает, а вот архивирование не происходит

Foreigner 24-07-2015 15:18 2532162

Ubiquiti, Ну а "zip" это что? Может все таки $7z?

Ubiquiti 24-07-2015 15:19 2532163

Ну да

Мой касяк сверху ошибся побывал еще и так
Код:

Set-Alias zip "C:\Program Files\7-Zip\7z.exe"
    $Paramters7z = 'a', '-tzip', '-p', "000000"
    $in7z = "E:\temp\*.dt", '-ssw'
    $out7z = "E:\cloud\zup_"+$S1с+'.zip', '-mx3'
    Start-Process zip -Wait -ArgumentList "$Paramters7z, $out7z, $in7z"

Поэтому zip и остался

Foreigner 24-07-2015 15:37 2532170

Насколько я понимаю псевдонимы не могут через start-process... И годны только для выполнения конкретной команды. Поэтому лучше оформить в виде функции.

Ubiquiti 24-07-2015 15:43 2532174

А как примерно через функцию можете подсказать

понял как сделать но будет задержка пока будет архивироваться что б мне избавиться от оператора задержки

Foreigner 24-07-2015 15:51 2532180

Как-то так, не проверял
Код:

function 7z ($in,$out) {

    start-process "C:\Program Files\7-Zip\7z.exe" -argumentlist "a $out $in -tzip -p '000000'" -wait

}

7z in.file out.zip

Можно просто в скрипте 7zip добавить в PATH:
Код:

$env:path += ";C:\Program Files\7-zip"
И дальше с ним работать без полного пути, просто: 7z тыры-пыры

mcintosh55 24-07-2015 19:01 2532239

Вот так будет работать
Код:

$in = 'D:\in\*.mp4'
$out = 'D:\out\\111.zip'
$pass = "-p000000"
$7z = "C:\Program Files (x86)\7-Zip\7z.exe"
start-process $7z -wait 'a', '-tzip', $pass, $out, '-mx3', $in, '-ssw'

Сам полдня парился с паролем zip внимательно посмотрите переменную $pass вот так ставить все съедает, и как просил Ubiquiti происходит задержка


Время: 16:06.

Время: 16:06.
© OSzone.net 2001-