2017-02-17 2 views
1

У меня не было никакой удачи исследуя то, что я предполагаю, что это очень простой вопрос - есть предложения здесь через поиск, но они не разрешу его для меня.bat файл не перезагружать explorer.exe (win10)

Advanced извините, если я пропустил то, что было faq'd/опубликовано в другом месте, - должен заявить, что за безумно простым кодом, в основном скопированным и вставленным, я никогда не писал .bat-файлы до

Я пишу небольшой байт. для sccm для запуска:

  • Устранение
  • очистить инструмент
  • install.msi
  • патч (МСИ)

Пробираясь через него, я должен ступить два, работает средство очистки успешно после удаления - так Избавление старой программы с моим .bat работает на 100% штрафом.

Проблема с деинсталлировать и инструментом доводки при запуске беззвучно они не подскажут варианты - одна из которых гласит, программа должна убить explorer.exe

Игнорирование возможных решений для предотвращения его закрытия explorer.exe; Я не думал о хорошо не большом дела, ЦМД команды «explorer.exe» сапоги исследователю обратно в порядке, я просто выбросить, что в моем пакетного файл

msiexec /x {APPID HERE} /qn /norestart 
"%~dp0Remover.exe" /qn /norestart 
explorer.exe 

Но это не работает - деинсталляция/очистка выполняется, и я (и, следовательно, любой пользователь) будет сидеть там с пустым экраном без проводника.

Так что я thoght хорошо, я буду конкретно

msiexec /x {APPID HERE} /qn /norestart 
"%~dp0Remover.exe" /qn /norestart 
**%windir%\**explorer.exe 

Неа, такой же вопрос

Я проверил менеджер задач и, казалось, все еще исследователем задачи, несмотря на пустой экран - хорошо, может быть, мне нужно использовать больше перегрузкой исследователя, чем просто запустить его

msiexec /x {APPID HERE} /qn /norestart 
"%~dp0Remover.exe" /qn /norestart 
taskkill /f /IM explorer.exe 
%windir%\explorer.exe 

нет кости

Я пробовал засыпать там, чтобы дать ему через секунду после удаления приложений (не знаю, помогло бы это - не решило бы это так или иначе). Я пробовал добавить «Старт» (Start% windir% \ explorer .exe) - tna

Я предполагаю, что вы, ребята, собираетесь сказать что-то вроде «чувак, ударить вкладку перед линией 3» или что-то больно простое, но ... Мне не удалось найти решение через справедливое количество кликов по Google и поиск в форумах.

Я убил проводника вручную и запустил пакетный файл, который содержит только% windir% \ explorer.exe, и это заставляет пробуждающий источник вернуться к жизни ... так почему же он не выполняет одну и ту же команду после завершения двух линии над ним?

Большое спасибо

редактировать Приветствия tripehound

так что это будет читать

start /wait msiexec /x {appID} /qn /norestart 
start /wait "" "%~dp0Cleaner.exe" /qn /norestart 
start /wait msiexec /i "%~dp0MSI.msi" /qn REBOOT=ReallySuppress 
start /wait msiexec /i "%~dp0MSI2.msi" /q REBOOT=ReallySuppress 
taskkill /f /IM explorer.exe 
%windir%\explorer.exe 

Правильно? - двойные кавычки только для чище, так как это .exe? Хотя MSI предположительно имеет gui

+0

Поскольку MSIEXEC (и, возможно, remover.exe) являются программами GUI, они не выполняют (обычно) прекращение выполнения командного файла во время их запуска - вы, вероятно, (повторно) начинаете explorer _before_, удалитель/удалитель убивает оригинальный один. Попробуйте изменить первую строку на 'start/wait msiexec ...', а второй - на 'start/wait '" "% ~ dp0Remover.exe" ... 'Они должны разрешить запуск первых двух строк до перезапуска проводника , (Пустой '' '' необходим во второй строке, потому что если 'start' видит параметр в двойных кавычках, он использует его как заголовок окна). – TripeHound

+0

Да, последнее изменение - мое предложение. Дополнительные двойные кавычки необходимы, потому что, если у них есть первый параметр команды 'start', он используется как заголовок окна команды, которое он открывает, а не для запуска команды. Пустые двойные кавычки используются как заголовок, поэтому остальная часть строки правильно интерпретируется как команда для запуска. – TripeHound

+0

Это не сработало :(В том же выпуске - я попробую запустить его с explorer.exe kill. taskkill/f/IM explorer.exe % windir% \ explorer.exe – Richard

ответ

0

Спасибо за помощь. Tripehound. Я уверен, что мне нужно было добавить начало/ждать в любом случае, но, похоже, моя проблема связана с тем, что я запускал CMD «как» мой администратор (мы входим в систему с базовыми учетными записями и используем наши учетные данные администратора для повышения)

Итак, мой cmd, по сути, запускал start/explorer под моей учетной записью администратора, и поэтому я не получил explorer.exe на моем зарегистрированном в базе счет

Теперь, чтобы спуститься по всему другому пути .. как мне получить командный файл (или вызвать другой файл), который будет запускать проводник в качестве текущего пользователя sigh

Смежные вопросы