File Batch Yang Membuat File Batch Lainnya Berjalan
Saya menjalankan 3 file bat di komputer saya setiap saat 24/7 untuk bisnis yang saya miliki. Sesekali mereka akan tutup karena internet saya terputus karena area tempat saya tinggal dan mereka membutuhkan internet untuk dijalankan.
Apakah ada cara agar saya dapat memiliki file batch yang membuka 3 file lainnya dan memeriksa untuk memastikan apakah ada yang ditutup, jika demikian, itu akan membukanya lagi? Mungkin minta dia melakukan pemeriksaan setiap x jumlah menit
Nama file batch adalah:
vfile1.bat
vfile2.bat
vfile3.bat
Jadi pada dasarnya saya ingin membuka file seperti group.bat dan itu akan membuka 3 dalam daftar di atas dan membukanya kembali jika ditutup.
Saya mencoba mencari solusi ini secara online tetapi saya tidak tahu harus mencari apa.
Jawaban
Misalkan file batch Anda bernama Batch01.bat, Batch02.bat dan Batch03.bat dan memiliki judul Batch01, Batch02 dan Batch03. Anda dapat mengatur ini dalam Batch dengan contoh: Judul Batch01
Bisa terlihat seperti ini:
@echo off
Title Keep Running Batchs
set Batch01Path=%userprofile%\desktop\Batch01.bat
set Batch02Path=%userprofile%\desktop\Batch02.bat
set Batch03Path=%userprofile%\desktop\Batch03.bat
:Restart
cls
echo.
tasklist /fi "windowtitle eq Batch01" /v /fo csv |find /i "Batch01" > Nul
if "%errorlevel%"=="0" (Echo Batch01.bat Running OK) else (Echo Batch01.bat Closed ...Restarting& start "" "%Batch01Path%")
tasklist /fi "windowtitle eq Batch02" /v /fo csv |find /i "Batch02" > Nul
if "%errorlevel%"=="0" (Echo Batch02.bat Running OK) else (Echo Batch02.bat Closed ...Restarting& start "" "%Batch02Path%")
tasklist /fi "windowtitle eq Batch03" /v /fo csv |find /i "Batch03" > Nul
if "%errorlevel%"=="0" (Echo Batch03.bat Running OK) else (Echo Batch03.bat Closed ...Restarting& start "" "%Batch03Path%")
timeout /t 5 >nul
goto :Restart
1. Edit Anda file.batdan tambahkan nama ke judul setiap file:
title <nul && title vfile1.bat
title <nul && title vfile2.bat
title <nul && title vfile3.bat
rem :: Or add this line to each bat file ::
title <nul && title %~n0
2. Gunakan forloop, :labeldan operatoruntuk memeriksa apakah perlu memulai ulang masing-masing
@echo off
title <nul && title %~n0
:loop
for %%i in ("vfile1","vfile2","vfile3")do (
%__AppDir__%tasklist.exe /FI "windowtitle eq %%~i" >nul || start "" /b "%%i.bat"
)
%__AppDir__%timeout.exe /t 6000 & goto :loop
Baca lebih lajut:
Untuk
Mulailah
Judul
Daftar tugas
Waktu habis
Goto: Label
Eksekusi Bersyarat || && ...