1

В моем случае я запускаю командный файл с именем file.bat

когда мои пользователи закрывают его с помощью кнопки закрытия [X] верхнем правом углу, мне нравится запускать некоторые программы перед закрытием ..

Например, я хочу, чтобы моя программа скрывалась перед закрытием, запустив несколько командных строк, когда пользователь закрыл пакет, запущенный cmd. (используя кнопку закрытия [X])

ren file.bat file.bak
attrib +s +h file.bak

я хочу запустить эти две командные строки в конце программы, прежде чем пользователи закроют ее, используя правую верхнюю кнопку закрытия [X]. Так что, пожалуйста, помогите мне, ребята. я понятия не имею, как это сделать. Огромное спасибо заранее. Пожалуйста помогите ..

1 ответ1

0

Итак, вам нужно создать пакетный скрипт-обертку, который мы будем запускать незаметно, используя VBScript. Этот пакетный файл откроет другое командное окно для основного пакетного сценария, который вы хотите запустить, и когда этот сценарий будет завершен любым способом, он перенесет оставшиеся команды в сценарий.

'Run Batch Invisible
CreateObject("Wscript.Shell").Run chr(34) & "C:\Path\Script Files\Wrapper.cmd" & Chr(34), 0, False

Тогда у нас есть wrapper.cmd:

REM Script: Wrapper.cmd
REM This script will Open another window, which, when closed will run a couple of commands.
SET "_BatchPath=C:\Path\Script Files"
SET "_BatchName=Your_Existing_Batch"
CALL START /WAIT "%_Batch%\%_BatchName%.bat"
MOVE /Y "%_Batch%\%_BatchName%.bat" "%_Batch%\%_BatchName%.bak"
Attrib +s +h "%_Batch%\%_BatchName%.bak"
GOTO :EOF

Этот пример использует примеры команд, которые вы выдвинули.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .