Windows 适用于32位和64位环境的变量

Windows 适用于32位和64位环境的变量,windows,batch-file,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 Softw

我试图制作一个简单的.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位,我如何才能使这项工作有所不同

只需删除200台电脑中的Panda,如何才能使该批电脑区别对待,或者说:如果你是32位,那么做这个;如果你是64位,那么做这个

请给我一点帮助,谢谢大家


关于

询问Windows,它是运行32位还是64位

wmic os get OsArchitecture |find "64" >nul && ( 
  echo insert code for 64bit
) || (
  echo insert code for 32bit
)
&&
的工作原理是“如果上一个命令(
find
)成功,那么…”

|
的工作原理类似于“如果上一个命令(
查找
)失败,那么…”

询问Windows,它是运行32位还是64位

wmic os get OsArchitecture |find "64" >nul && ( 
  echo insert code for 64bit
) || (
  echo insert code for 32bit
)
&&
的工作原理是“如果上一个命令(
find
)成功,那么…”

|
的作用类似于“如果上一个命令(
查找
)失败,那么…”

跟进Squashman关于使用
的注释(如果存在)

@Echo关闭
设置“PAD=熊猫软件”
设置“PPL=Panda Administrator 3\Pavinst\Plagent\pavagent.exe”
设置“PAU=AVTC\Install\uninst.exe”
设置“PUS=-A:UnInstall-DeleteQtine:1”
对于(“%ProgramFiles%”“%ProgramFiles(x86)%”中的%%A,请执行以下操作(
如果存在“%%~A\%PPL%%”%%~A\%PPL%%%PUS%
如果存在“%%~A\%PAU%”、%%~A\%PAU%%%PUS%)

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

跟进Squashman关于使用
的评论(如果存在)

@Echo关闭
设置“PAD=熊猫软件”
设置“PPL=Panda Administrator 3\Pavinst\Plagent\pavagent.exe”
设置“PAU=AVTC\Install\uninst.exe”
设置“PUS=-A:UnInstall-DeleteQtine:1”
对于(“%ProgramFiles%”“%ProgramFiles(x86)%”中的%%A,请执行以下操作(
如果存在“%%~A\%PPL%%”%%~A\%PPL%%%PUS%
如果存在“%%~A\%PAU%”、%%~A\%PAU%%%PUS%)

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

使用
IF EXIST
命令查看其安装路径。或者我敢打赌,您可以查询一个常见的注册表项,它会告诉您它的安装路径。答案似乎在这里:@RafaelUP请阅读Microsoft的MSDN文章并查看答案。在安装过程中,用户通常可以自由地将应用程序安装到任何目录中,并且不得使用默认安装路径。因此,最好直接从Windows注册表中获取安装位置,并在
for
循环中执行
reg query
。通常注册表安装位置或卸载项位于非特定的{GUID String}下这可能很难确定,除非所有PC都使用相同的产品安装程序安装。由于同时具有32位和64位注册表位置,即使查找该项也可能会混淆。请使用
IF EXIST
命令查看它安装在哪个路径中。或者我敢打赌,您可以查询一个常见的注册表项,它会告诉您它的安装路径。答案似乎在这里:@RafaelUP请阅读Microsoft的MSDN文章并查看答案。在安装过程中,用户通常可以自由地将应用程序安装到任何目录中,并且不得使用默认安装路径。因此,最好直接从Windows注册表中获取安装位置,并在
for
循环中执行
reg query
。通常注册表安装位置或卸载项位于非特定的{GUID String}下这可能很难确定,除非所有PC都使用相同的产品安装程序安装。由于32位和64位的注册表位置,即使是查找注册表项也可能会混淆。非常感谢!在您的帮助下设法解决了这个问题,现在我们将从这个开始执行我们的主要任务,即迁移。非常感谢,非常感谢!在您的帮助下设法解决了这个问题,现在我们将从这个开始执行我们的主要任务,即迁移。多谢各位。