Taskkill là chính xác. Nhưng bạn phải giết quá trình chơi tập tin, chứ không phải tập tin. Việc tìm ra trình xử lý đã đăng ký cho các tệp mp3 từ một dấu nhắc lệnh sẽ hơi phức tạp một chút.
Nếu bạn biết điều đó thì bạn có thể giết quá trình đó.
Dưới đây là một kịch bản mà số liệu ra các ứng dụng đã đăng ký cho các tập tin mp3 và giết chết các nhiệm vụ:
@echo off
if not .%1==. goto show
:createtemp
set tempfile="%temp%\temp-%random%-%time:~6,5%.bat"
if exist %tempfile% goto :createtemp
reg query HKEY_CLASSES_ROOT\mp3file\shell\play\command\ > %tempfile%
for /F "skip=4 delims=> tokens=2 usebackq" %%e in (`type %tempfile%`) do call %0 %%e
del %tempfile% > nul
set tempfile=
set handler=
set teststring=
set offset=
set cmd=
goto end
:show
set handler=%2
set handler=%handler:~1,-1%
set /A offset=-1
:loop
set cmd=set teststring=%%handler:~%offset%%%
echo %cmd% > %tempfile%
call %tempfile%
if %teststring:~0,1%==\ goto complete
set /A offset=offset-1
goto loop
:complete
set /A offset=offset+1
set cmd=set handler=%%handler:~%offset%%%
echo %cmd% > %tempfile%
call %tempfile%
taskkill /IM %handler% > nul
:end
Nếu bạn lưu này như killmp3.bat
hoặc một cái gì đó, bạn có thể gọi nó khi bạn muốn. Tất nhiên, hãy lưu ý rằng nếu chương trình đã chạy, hãy làm một cái gì đó khác, rằng nó sẽ được đóng lại.
Lưu ý rằng điều này phụ thuộc rất nhiều vào mục nhập trong sổ đăng ký để có đường dẫn thực thi bên trong dấu ngoặc kép. Nếu bạn không có điều đó và có không gian trong tên thực thi, nó sẽ thất bại.
Bạn có thể khái quát kỹ thuật của tôi để có thể vượt qua trong phần mở rộng tập tin (ví dụ như .mp3
, mà bạn có thể tìm kiếm trong registry để tìm ra tên lớp mp3file
và sau đó tìm handler từ đó.
Một giải pháp chung chung hơn lấy tên của tệp mà bạn đã bắt đầu và tìm ra phần mở rộng từ đó về mặt lý thuyết có thể nhưng rất khó khăn hơn trong trường hợp của notepad
bạn phải tìm ra điều đó bằng cách tìm kiếm đường dẫn cho tất cả các tệp thi hành, v.v.
Điều này có thể đơn giản hơn nếu bạn đã tạo tệp mp3 cực ngắn mà bạn có thể bắt đầu. ding trên chương trình, nó có thể ngừng chơi các tập tin hiện tại và chuyển sang một tập tin mới, mà sẽ kết thúc gần như ngay lập tức và có hiệu quả ngừng phát lại.
Niko bạn đang chạy phiên bản Windows nào? – ErikE