Batch file 如何通过批处理文件检查robocopy是否存在

Batch file 如何通过批处理文件检查robocopy是否存在,batch-file,robocopy,Batch File,Robocopy,我想通过批处理文件确保系统上安装了robocopy。 有没有可能问一下像if robocopy.这样的问题,以了解它是否安装在我安装在它上面的系统中 >nul 2>nul robocopy if errorlevel 9009 ( echo ROBOCOPY is not installed ) else ( echo ROBOCOPY is installed ) 编辑 这是另一种可能更安全的选择,因为它不尝试执行程序。它尝试查看路径中是否存在程序。您必须知道程序

我想通过批处理文件确保系统上安装了robocopy。 有没有可能问一下像if robocopy.这样的问题,以了解它是否安装在我安装在它上面的系统中

>nul 2>nul robocopy
if errorlevel 9009 (
    echo ROBOCOPY is not installed
) else (
    echo ROBOCOPY is installed
)

编辑

这是另一种可能更安全的选择,因为它不尝试执行程序。它尝试查看路径中是否存在程序。您必须知道程序的全名,包括扩展名

@echo off
for %%F in (robocopy.exe) do if "%%~$path:F" neq "" (
  echo ROBOCOPY is installed
) else (
  echo ROBOCOPY is not installed
)

哇,我不知道它有“未识别”消息的特定返回码。事实上,我认为它是
2
(如“未找到文件”)。时代变了。。。