Показать полную графическую версию : [решено] Архивирование PoSH
Ubiquiti
24-07-2015, 15:05
Добрый день, форумчани!!! Написал скрипт он не работает в так состояние
$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
Почему обязательно через start-process? И какой процесс вы запускаете, что за "zip"?
Ubiquiti
24-07-2015, 15:14
Потому что за тем у меня архив копируется на ftp сейчас работает через задержку
процесс 7z т.е. как бы он работает черный экран пробегает, а вот архивирование не происходит
Foreigner
24-07-2015, 15:18
Ubiquiti, Ну а "zip" это что? Может все таки $7z?
Ubiquiti
24-07-2015, 15:19
Ну да
Мой касяк сверху ошибся побывал еще и так
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
Насколько я понимаю псевдонимы не могут через start-process... И годны только для выполнения конкретной команды. Поэтому лучше оформить в виде функции.
Ubiquiti
24-07-2015, 15:43
А как примерно через функцию можете подсказать
понял как сделать но будет задержка пока будет архивироваться что б мне избавиться от оператора задержки
Foreigner
24-07-2015, 15:51
Как-то так, не проверял
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
Вот так будет работать
$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 происходит задержка
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.