32和64位环境的变量

时间:2017-10-11 14:42:38

标签: windows batch-file

我试图制作一个简单的.bat程序,在32和64位环境下擦除Panda软件,事情是在32位路径是程序文件(x86),在64位是程序文件

我有这个:

@echo off

cd "C:\%programfiles%\Panda Software\Panda Administrator 3\Pavinst\Plagent"

start pavagent.exe -a:uninstall -DeleteQtine:1

cd "C:\Program Files\Panda Software\AVTC\Install"

start uninst.exe -a:uninstall -DeleteQtine:1

TIMEOUT /T 3

¿这适用于两种环境吗? ¿如果系统是32位或64位,具体取决于计算机,我怎样才能使这项工作变得不同?

只有在200PC中删除Panda,¿如何才能使批处理有所区别或者说:如果你是64位,那么如果你是64位就这样做呢?

请大家帮助一下。

此致

2 个答案:

答案 0 :(得分:1)

询问Windows,无论是运行32位还是64位。

wmic os get OsArchitecture |find "64" >nul && ( 
  echo insert code for 64bit
) || (
  echo insert code for 32bit
)

&&的作用是“如果上一个命令(find)成功,那么......” ||作为“如果上一个命令(find)失败,那么......”

答案 1 :(得分:1)

跟进Squashman关于使用IF EXIST

的评论
@Echo Off

Set "PAD=Panda Software"
Set "PPL=Panda Administrator 3\Pavinst\Plagent\pavagent.exe"
Set "PAU=AVTC\Install\uninst.exe"
Set "PUS=-A:UnInstall -DeleteQtine:1"

For %%A In ("%ProgramFiles%" "%ProgramFiles(x86)%") Do (
    If Exist "%%~A\%PPL%" "%%~A\%PPL%" %PUS%
    If Exist "%%~A\%PAU%" "%%~A\%PAU%" %PUS%)

请理解,此答案与执行您显示的特定命令有关;它不是关于如何卸载antivrus产品的知识库文章,因为我没有提供支持