Deschiderea/închiderea aplicației prin intermediul unui fișier .bat [Windows] (Programare, Windows, Fișier Batch, Cmd, Kill)

Edmhar a intrebat.

Bună ziua, Am un fișier .bat care rulează o anumită aplicație, apoi după 5 secunde o va închide/uciga.

Am în momentul de față datorită faptului că deschide cu succes aplicația gândit când aplicația se deschide nu va executa comenzile rămase decât dacă închid manual aplicația.

Aici este codul meu:

cd "C:Program Files (x86)AsperaPoint-to-Pointbin

asperascp.exe
sleep 5 
taskkill /IM asperascp.exe /f

Am încercat, de asemenea, să înlătur sleep comanda.

cd "C:Program Files (x86)AsperaPoint-to-Pointbin

asperascp.exe
taskkill /IM asperascp.exe /f

Dar va avea aceeași ieșire, nu va executa comenzile rămase atunci când asperascp.exe pornește.

Aveți vreun sfat?

Mulțumesc.

2 răspunsuri
Hackoo

Puteți utiliza Start /b comanda.

@echo off
cd "C:Program Files (x86)AsperaPoint-to-Pointbin

Start "" /b asperascp.exe 
timeout /T 5 /nobreak >nul
taskkill /IM asperascp.exe /F

Comentarii

  • Spune că deja așteaptă să se termine înainte de a continua. Vrea să o omoare la cinci secunde după ce a început; ar trebui să folosească start /b. –  > Por SomethingDark.
  • @SomethingDark Mi-am editat răspunsul, vă mulțumesc că m-ați observat –  > Por Hackoo.
Marichyasana

TASKKILL /IM asperascp.exe /F
va ucide toate imaginile cu același nume de imagine. Deci, dacă rulați același program de două ori, de exemplu, și al doilea începe înainte ca primul să iasă, al doilea va fi ucis și el când primul va rula taskkill. Dacă faceți tasklist veți vedea câteva imagini cu același nume de imagine, dar cu PID-uri diferite. Va trebui să obțineți PID-ul procesului inițiat de fișierul batch (nu știu cum se poate face acest lucru cu CMD.) Apoi puteți folosi:TASKKILL /PID 999 /F