Попытка выполнить самораспаковывающийся zip-файл без вывода сообщений в командной строке
У меня есть эти самораспаковывающиеся zip-файлы, которые я пытаюсь извлечь на машинах 2008/7 удаленно. Но они идут в виде.exe, и это требует от пользователя двойного щелчка и выбора места извлечения.
На сайте поддержки WinZip говорят, что нужно использовать флаг /auto, чтобы команда выглядела так:
C: \ deploy \.exe /auto C: \ путь \\
Он запускает процесс в диспетчере задач, но он застрял там.
Когда я открываю файл в текстовом редакторе, он говорит:! Эта программа не может быть запущена в режиме DOS.
Так что, возможно, кто-нибудь из вас знает, как я могу автоматизировать извлечение файла самораспаковки в режиме без вывода сообщений. Или, может быть, есть способ запустить их с файлом ответов.
Спасибо
3 ответа
Я знаю, что это старше, но я только что нашел эту страницу, пытаясь сделать то же самое (для установки драйвера без вывода сообщений)
То, что ОП поставил выше, прекрасно работает.
Например, моя строка была:
UPS_319_117.exe /auto .\upstemp\
(Это было после того, как пакетный файл создал папку upstemp). Я предполагаю, что либо путь был неправильным, поэтому самораспаковывающаяся ошибка в случае ОП или что-то в этом роде, и он просто зависал, ожидая ввода, которого не будет, так как он находился в автоматическом режиме...
У меня такая же проблема. В конце концов я решил это с PowerShell. Переименуйте файл.exe в файл.zip. Затем выполните команду как это:
powershell -Command "MD C: \ PathWhereFileShouldExtractTo; $ shell = New-Object -ComObject shell.application; $ zip = $ shell.NameSpace ('C: \ PathToZipFile \ YourFile.zip'); foreach ($ item в $zip.items()) {; $shell.Namespace('C:\PathWhereFileShouldExtractTo').CopyHere($item); }"
Я украл основные команды PowerShell из этой статьи о том, как разархивировать файл с помощью Powershell: Как разархивировать файл в Powershell?
Обычно вы можете распаковать их, используя стороннюю утилиту для извлечения ZIP.