PowerShell - [решено] Архивирование PoSH

Ответить
Аватара пользователя
Ubiquiti

PowerShell - [решено] Архивирование PoSH

Сообщение Ubiquiti »

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



Код:

Код: Выделить всё

$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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Foreigner »

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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Foreigner »

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



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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Ubiquiti »

Ubiquiti, Ну а "zip" это что? Может все таки $7z?
Аватара пользователя
Foreigner

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Foreigner »

Ну да



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



Код:

Код: Выделить всё

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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Foreigner »

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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Foreigner »

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



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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение Ubiquiti »

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



Код:

Код: Выделить всё

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

Re: PowerShell - [решено] Архивирование PoSH

Сообщение mcintosh55 »

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



Код:

Код: Выделить всё

$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 происходит задержка
Ответить

Вернуться в «Скриптовые языки администрирования Windows»