2016-04-04 21 views
1

Tüm şubelerdeki bilgisayarlardan (32bit & 64bit) bir programı kaldırmalı ve yazılımın sürümünü tüm makine için kayıt defteri düzeltmesiyle yeniden yüklemem ve güncelleştirmeliyim. zor görünmüyor ama bunu yapmak için bir toplu iş dosyasını (muhtemelen en kolay) kullanmaya çalışıyorum ve işletim sistemi sürümü parçasını kontrol ettim.Toplu iş dosyasını kullanarak yazılım kaldırma/yeni yükleme

Yardım alabilir miyim? işte parti; Birkaç işaretçi;

  • kontrolü hatası deyimi

    oldu ben bir windows yükleyici hatası
  • başlamıştı çünkü bu yüzden sadece dökümü neden emin değilim çalışmıyor dizin deyimi silin.

kodu:

echo off 

:CheckOS (this part not done) 
IF EXIST "%PROGRAMFILES(X86)%" (GOTO disconnect) ELSE (GOTO Fincentric check) 

if exist r:\ goto disconnect 

:disconnect 
net use r: /d 

net use r: \\a0363sfp06\rfsnt 
pause 

:check 
if exist c:\%programfiles%\Fincentric\CAMNet   goto remove01 else 
if exist c:\%programfiles%\Fincentric\BridgeNET v2.3.0 goto remove02 else 
if exist c:\%programfiles%\Fincentric\CAMPlugins  goto remove03 else 
if exist c:\%programfiles%\Fincentric\Canvas   goto remove04 else 
if exist c:\%programfiles%\Fincentric\Platform   goto remove05 else 
if exist c:\%programfiles%\Fincentric\SupportLibraries goto remove06 else 


:remove01 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBCAMNet_CGI.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 
:remove02 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBBridgeNET.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 
:remove03 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBCAMPlugins.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 
:remove04 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBCanvas.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 
:remove05 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBPlatform.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 
:remove06 
start /wait msiexec /quiet /qr /uninstall R:\WBDK\WBSupportLibraries.msi 
if %ERRORLEVEL% EQU 1721 (
    echo Failure Reason Given is %errorlevel% 
    exit /b %errorlevel% 
) 

:Fincentric check 
cls 
echo Checking if Fincentric folder still exist.... 
if exist c:\%PROGRAMFILES(X86)%\Fincentric 
TIMEOUT /T 3 /NOBREAK 
del /S /Q "c:\Program Files"\fincentric goto alldone 
pause 

:alldone 
echo WDBK 5 has been remove... 
TIMEOUT /T 1 
exit 
rem :remove07 
rem :remove 
rem :remove 

cevap

1

sorun :CheckOS bölümle değil, ama :Fincentric check bölümü ile.

if ifadesi eksik ve bazı hatalar vardır. Bu hat:

if exist c:\%PROGRAMFILES(X86)%\Fincentric 

lider c: Kaldır

if exist c:\C:\ProgramFiles (x86)\Fincentric 

genişletmek ve alanla sorunu yoktur sağlamak için tırnak içinde yol adını koyacağız. Bu gibi görünmelidir: yolunuzun etrafında

if exist "%PROGRAMFILES(X86)%\Fincentric" (
    echo do stuff 
    echo do more stuff 
) 

Yanlış tırnak Ayrıca size del hattı ile aynı problemleri parçasıdır. diğer kısmı da iki komutları arasında birleştirme sembolünü & (ve işareti) kaçırdığınızı geçerli:

Ayrıca
del /S /Q "c:\Program Files\fincentric" & goto alldone 

, bölüm etiketler sadece bu yüzden :Fincentric check gerçekten sadece :Fincentric olarak kabul ediliyor, bir boşluk kadar tanınır. Bu, şu anda sorun yaratıyor gibi görünmüyor, ancak bazı durumlarda potansiyel olarak olabilir. Sadece güvende olmak için, yeniden adlandırmak ve alanı kaldırmak (hat :Fincentric_Check veya :FincentricCheck)

İlgili konular