2012-04-03 37 views
8

Tôi có một số chương trình tôi muốn gỡ cài đặt từ máy tính của mình (Windows 7 64bit).Có Gỡ cài đặt một gói chương trình cho các cửa sổ không?

Có một tập lệnh batch nào có thể giúp tôi làm điều đó không? hoặc tôi cần phải làm từng cái một từ Control Panel?

Nếu không có cho Windows 7, có điều gì đó như thế này trong XP không?

cảm ơn, Dor.

+1

Tại sao không chạy uninstall.exe cho từng chương trình? –

+0

Bạn có thể viết một tập tin thực thi để tìm các trình gỡ cài đặt trong một thư mục mà bạn tìm kiếm. tức là: Bạn tìm kiếm Java và chạy uninstall.exe trong thư mục Java. –

+1

Tôi đề nghị bạn thử câu trả lời của Bali. Có vẻ hứa hẹn hơn một chút. –

Trả lời

12

Không thực sự là một lệnh loại uninstall trong cmd mà tôi biết. Tuy nhiên bạn có thể truy vấn chính reg này

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

(cũng có thể cần phải kiểm tra HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall nếu bạn đang ở trên một máy 64-bit)

để tìm chương trình bạn muốn gỡ bỏ cài đặt. Mỗi giá trị sẽ có giá trị UninstallString sẽ cho bạn biết đường dẫn đến tệp trình gỡ cài đặt chương trình mà bạn có thể thực thi bằng cách gọi đó là đường dẫn đầy đủ và tên tệp.

Nếu chương trình cài đặt sẽ xảy ra là một msi bạn có thể sử dụng

msiexec /uninstall /x để âm thầm gỡ bỏ nó. Điều này là về nhiều như bạn có thể làm với hàng loạt tôi nghĩ.

Hy vọng điều này sẽ hữu ích!

+0

^đây là cách tốt nhất để làm những gì bạn đang yêu cầu từ dòng lệnh. – iesou

9

để bổ sung cho câu trả lời của Bali, hãy thử đoạn mã sau ...

@echo off 
for /f "tokens=*" %%a in ('reg query hklm\software\Microsoft\Windows\CurrentVersion\Uninstall\ ^| find /I "%*"') do (
    for /f "tokens=1,2,*" %%b in ('reg query "%%a" /v UninstallString ^| find /I "UninstallString"') do (
    if /i %%b==UninstallString (
     echo %%d 
    ) 
) 
) 

thử nghiệm nó một cách cẩn thận. Và sau đó loại bỏ lệnh echo.

+0

+1 để truy vấn khóa reg, tôi không chắc chắn cách thực hiện điều đó. –

3

Tôi đã viết sáng nay.

@Echo off 
Echo This is a batch file uninstallation program. 
Echo Run as administrator WMIC will not work. 
echo. 
Echo The command [wmic product get name] will run. 
Echo Looking up all installed programs... 
echo. 
wmic product get name 

echo 1. First program 
echo 2. Second program 
echo 3. Third program 
echo 4. Fourth program 
echo 5. Fifth program 
echo. 
@echo Pick a number: 
echo. 
choice /c:12345 

if "%errorlevel%"=="1" wmic product where name="First program" call uninstall 
if "%errorlevel%"=="2" wmic product where name="Second program" call uninstall 
if "%errorlevel%"=="3" wmic product where name="Third program" call uninstall 
if "%errorlevel%"=="4" wmic product where name="Fourth program" call uninstall 
if "%errorlevel%"=="5" wmic product where name="Fifth program" call uninstall 

Echo. 
Echo. 

@echo First method is done. I'll go into the alternate method. 

pause 
Echo Get user input - program name? 
Echo. 
Echo This is an alternate method 
:input 
set INPUT= 
set /P INPUT=Uninstall which program?: %=% 
if "%INPUT%"=="" goto input 
echo Your input was: %INPUT% 

echo. 
echo. 
Echo Uninstalling... 

echo The command [wmic product where name="%INPUT%" call uninstall] will run. 


wmic product where name="%INPUT%" call uninstall 

@echo If there is "no instance" errors, then the program %INPUT% was uninstalled. 

pause 
+0

Trong khi tôi thích giải pháp 'wmic', dường như đối với tôi hầu hết các ứng dụng được cài đặt không nằm trong danh sách' wmic product get name'. Tuy nhiên chúng được liệt kê trong khóa 'Uninstall' trong registry. Tôi đoán trong trường hợp của tôi, tôi cần phải đi cho các giải pháp được đề xuất khác, nơi bạn có để phân tích các đăng ký chính mình. – Qben

+1

dòng wmic thực sự là tất cả những gì tôi cần. Thêm/nointeractive để bỏ qua tất cả các câu hỏi được hỏi trong quá trình. – Christian

2

Sử dụng quyền wmic từ thiết bị đầu cuối. Bạn có thể xem tài liệu của microsoft để xem thêm tập quán.

Đây sẽ là một điểm khởi đầu tuyệt vời:

wmic product where vendor="Autodesk" call uninstall 

tôi sử dụng dòng trên để làm sạch các sản phẩm Autodesk gỡ bỏ cài đặt.

+0

Có thể thú vị khi biết rằng bạn cũng có thể sử dụng các ký tự đại diện cho các truy vấn như vậy nếu bạn nhận được cú pháp đúng: 'sản phẩm wmic có tên"% SQL Server% '"gọi uninstall Sẽ làm điều đó cho tất cả các sản phẩm có tên chứa chuỗi "SQL Server". Nó có lẽ là một ý tưởng tốt để kiểm tra đầu tiên những gì bị ảnh hưởng bằng cách sử dụng một cái gì đó như 'sản phẩm wmic nơi" tên như '% SQL Server%' "danh sách tóm tắt' –

Các vấn đề liên quan