2015-07-21 3 views
2

Мне нужны идеи от yall. В основном, как решить эту проблему. Я работаю над попыткой автоматизировать инструмент, который поставляется с большинством современных версий Windows для нашей службы поддержки. Его кнопка «Шаги шагов» или PSE.exe. По-видимому, использование этого инструмента для некоторых пользователей «слишком сложно», и я подумал, что это будет хорошим примером для практики написания сценариев и изучения некоторых вещей.Batch script - вызовы команд mid-script

У меня на самом деле есть что-то, что работает достаточно хорошо, но у меня есть одна проблема, которая раздражает меня дерьмо, и я не могу придумать решение или причину, почему он это делает.

@ECHO OFF 
TITLE PSR Script - DO NOT CLOSE, IT WILL AUTOMATICALLY CLOSE ON ITS OWN. 
CD %TEMP% 
MKDIR PSR 
CD PSR 
SET psrdir=%TEMP%\PSR 
psr.exe /start /output "%psrdir%\ScreenCapture.zip" /maxsc 50 /gui 1 /stopevent 8675309 
If exist "outlook.exe" "GOTO Outlook" else "GOTO Explorer" 
:Outlook 
start "" "OUTLOOK.EXE" /c ipm.note /m "[email protected]&subject=Screen Capture&body=Please see attached file." /a "%psrdir%\ScreenCapture.zip" & GOTO exit 
:Explorer 
explorer.exe /n /root,%psrdir% & GOTO exit 
:exit 
exit 

Моя проблема в том, что как только я доберусь до запуска исполняемого файла PSR, скрипт будет висеть до его закрытия. В идеале мне бы хотелось получить подсказку «Нажмите любую клавишу, чтобы продолжить ...» или всплывающее окно или что-то еще. Затем я могу добавить PSR.exe/stop и закрыть программу через скрипт. С тем, как он написан в настоящее время, я должен сказать своим пользователям не только остановиться, но и закрыть его. Я знаю, что это не так, но я хочу знать, как это исправить.

ответ

0

Чтобы позволить программе продолжаться независимо от состояния psr.exe изменения

psr.exe /start /output "%psrdir%\ScreenCapture.zip" /maxsc 50 /gui 1 /stopevent 8675309 

Для

start psr.exe /output "%psrdir%\ScreenCapture.zip" /maxsc 50 /gui 1 /stopevent 8675309 


Чтобы создать всплывающее окно с VBS:

Batch: Использование start popup.vbs всякий раз, когда вам хотите, чтобы оно всплывало, или start popup.vbs /wait, чтобы дождаться всплывающего окна, чтобы закрыть ничего другого.

VBS (popup.vbs):

Popup=msgbox("YourMessage",0,"YourTitle") 

0 в VBScript выше указывает на то, что будет только ok кнопку. Дополнительные сведения см. В разделе сообщений vbs click here.

Вы можете добавить следующие строки, чтобы создать файл Vb, запустить его, а затем удалить его:

echo Popup=msgbox("Click to close",0,"YourTitle")>popup.vbs 
start popup.vbs 
pause 
del popup.vbs 
+0

Проблема заключается в том, в то время как утилита PSR открыта, сценарий остановлен. Значение новых команд не обрабатывается, если я правильно понимаю. VBS немного меня спасает, как создать всплывающее сообщение, но главная проблема заключается в том, что при открытии .EXE скрипт остановлен. Мне нужен способ запустить исполняемый файл, а затем продолжить его независимо от состояния запущенной программы, если это имеет смысл. – Moridn

+0

@Moridn Я отредактировал свой ответ, надеюсь, ответит на ваш вопрос, дайте мне знать, как это работает. – UnknownOctopus

+0

Это сработало отлично. Мне пришлось вызывать скрипт VBS через пакет, который не идеален, но отлично работает. Я надеялся избежать использования нескольких файлов, так как мне придется его застегивать, а Outlook dosent - как вложения ZIP. Знайте о любом способе напрямую позвонить в VBS в пакетном файле или начать с VBS и вызвать оригинал? – Moridn