Подождите, пока программа закроется, чтобы сохранить действие по партии - PullRequest
0 голосов
/ 12 сентября 2018

Только что сделал этот скрипт ниже:

@echo off
@setlocal enableextensions
@cd /d "%~dp0"
mode 48,12
title BACKUP TEST
:test
cls
tasklist /fi "imagename eq test.exe" 2>nul | find /i /n "test.exe">nul
if "%errorlevel%"=="0" echo Encerre o Test para continuar...&echo.&pause&cls&goto test

if exist "C:\xxxxx\xxxx\BACKUP TEST\BKP TEST %date:/=.%.rar" goto end
echo Backup do banco iniciado...
set winrar="C:\Program Files\winrar"
%winrar%\winrar.exe a -ibck -ep1 "C:\xxxx\XXXXX\BACKUP TEST\BKP TEST  %date:/=.%.rar" "C:\XXXXX\XXXXX\TEST_BD0.FDB"
cls

if "%errorlevel%"=="0" (
echo Backup do banco de dados realizado com sucesso
echo em %date% …s %time:~0,2%:%time:~3,2%h
echo.
echo.
pause
exit
)
if "%errorlevel%"=="1" (
echo. 
echo Falha ao realizar o bakcup...
pause
exit
)
exit
:end
echo O backup do banco de dados de %date% 
echo ja existe.
echo.
echo.
echo Por seguran‡a fa‡a o backup manualmente.
echo.
echo.
pause

Я должен закрыть Test.exe, а затем нажать какую-нибудь клавишу, чтобы скрипт продолжал работать. Я просто хотел закрыть Test.exe, и скрипт продолжал работать автоматически, не нажимая никаких клавиш. Есть способ для этого?

1 Ответ

0 голосов
/ 12 сентября 2018

Это должно работать.

@echo off
@setlocal enableextensions
@cd /d "%~dp0"
mode 48,12
title BACKUP TEST
tasklist /fi "imagename eq test.exe" 2>nul | find /i /n "test.exe">nul
if "%errorlevel%"=="0" (echo Encerre o Test para continuar...)
:test
tasklist /fi "imagename eq test.exe" 2>nul | find /i /n "test.exe">nul
if "%errorlevel%"=="0" (goto test)

if exist "C:\xxxxx\xxxx\BACKUP TEST\BKP TEST %date:/=.%.rar" goto end
echo Backup do banco iniciado...
set winrar="C:\Program Files\winrar"
%winrar%\winrar.exe a -ibck -ep1 "C:\xxxx\XXXXX\BACKUP TEST\BKP TEST  %date:/=.%.rar" "C:\XXXXX\XXXXX\TEST_BD0.FDB"
cls

if "%errorlevel%"=="0" (
echo Backup do banco de dados realizado com sucesso
echo em %date% …s %time:~0,2%:%time:~3,2%h
echo.
echo.
pause
exit
)
if "%errorlevel%"=="1" (
echo. 
echo Falha ao realizar o bakcup...
pause
exit
)
exit
:end
echo O backup do banco de dados de %date% 
echo ja existe.
echo.
echo.
echo Por seguran‡a fa‡a o backup manualmente.
echo.
echo.
pause

Удалено pause. Кредиты Сквошман .

Я также просто добавил цикл goto, также используя tasklist перед циклом "test", чтобы он проверял и echo текст один раз, если задача существует ( не мигает и останавливается в соответствии с требованиями ) Lalalalala в разделе комментариев ОП и в разделе комментариев моего ответа.

...