Advertisement
dezindzer

Software checker for Autodesk products

Dec 24th, 2024 (edited)
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.47 KB | None | 0 0
  1. @echo off
  2. set output_file=Z:\00_BIM_Update\SOFTWARE CHECKER\%COMPUTERNAME% - System Report.txt
  3.  
  4. :: Create output directory if it doesn't exist
  5. set OUTPUT_DIR=Z:\00_BIM_Update\SOFTWARE CHECKER
  6. if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
  7.  
  8. :: Initialize Output File with Headers
  9. echo REVIT;NAVISWORKS;AUTOCAD;DESKTOP CONNECTOR;PLUGINS > "%output_file%"
  10.  
  11. :: Initialize Variables
  12. set "revit_versions="
  13. set "navisworks_versions="
  14. set "autocad_versions="
  15. set "desktop_connector_version="
  16. set "plugins_status="
  17.  
  18. :: Enable delayed expansion for proper concatenation
  19. setlocal enabledelayedexpansion
  20.  
  21.  
  22. :: Collect Revit Versions
  23. for /d %%A in ("%ProgramFiles%\Autodesk\Revit*") do (
  24.    if exist "%%A\Revit.exe" (
  25.        for /f "delims=" %%B in ('powershell -NoProfile -Command "(Get-Item '%%A\Revit.exe').VersionInfo.FileVersion"') do (
  26.            for /f "tokens=1-3 delims=." %%C in ("%%B") do (
  27.                set "revit_versions=!revit_versions!%%C.%%D.%%E,"
  28.            )
  29.        )
  30.    )
  31. )
  32.  
  33. :: Collect Desktop Connector Version
  34. set desktop_connector_path=C:\Program Files\Autodesk\Desktop Connector\DesktopConnector.Applications.Tray.exe
  35. if exist "%desktop_connector_path%" (
  36.    for /f "delims=" %%A in ('powershell -NoProfile -Command "(Get-Item '%desktop_connector_path%').VersionInfo.FileVersion"') do (
  37.        set "desktop_connector_version=%%A"
  38.    )
  39. )
  40.  
  41. :: Collect AutoCAD Versions
  42. for /d %%A in ("%ProgramFiles%\\Autodesk\\AutoCAD*") do (
  43.    set "folder_name=%%~nxA"
  44.    for /f "tokens=2" %%B in ("!folder_name!") do (
  45.        if "%%B" geq "2000" if "%%B" leq "2100" (
  46.            set "autocad_versions=!autocad_versions!AutoCAD %%B,"
  47.        )
  48.    )
  49. )
  50.  
  51. :: Collect Navisworks Manage Versions
  52. for /d %%A in ("%ProgramFiles%\\Autodesk\\Navisworks Manage*") do (
  53.    set "folder_name=%%~nxA"
  54.    for /f "tokens=3 delims= " %%B in ("!folder_name!") do (
  55.        set "navisworks_versions=!navisworks_versions!Manage %%B,"
  56.    )
  57. )
  58.  
  59.  
  60. :: Check Plugins and Collect Status
  61. call :check_plugin "pyRevit" "%ProgramData%\Autodesk\Revit\Addins\2024\pyRevit.addin"
  62. call :check_plugin "nwexportrevit" "%ProgramData%\Autodesk\Revit\Addins\2024\nwexportrevit.addin"
  63. call :check_plugin "DiRoots.One" "%ProgramData%\Autodesk\Revit\Addins\2024\DiRoots.One.addin"
  64. call :check_plugin "DiRoots.ProSheets" "%ProgramData%\Autodesk\Revit\Addins\2024\DiRoots.ProSheets.addin"
  65. call :check_plugin "Revit.IFC" "%ProgramData%\Autodesk\ApplicationPlugins\IFC 2024.bundle\Contents\2024\Revit.IFC.addin"
  66. call :check_plugin "pglMagicViews" "%ProgramData%\Autodesk\ApplicationPlugins\pglMagicViews.bundle\Contents\2024\pglMagicViews.addin"
  67. call :check_plugin "Symetri.NaviateLt" "%ProgramData%\Autodesk\ApplicationPlugins\Symetri Naviate LT.bundle\Contents\Windows\2024\Symetri.NaviateLt.addin"
  68.  
  69. :: Remove trailing commas
  70. set "revit_versions=!revit_versions:~0,-1!"
  71. set "navisworks_versions=!navisworks_versions:~0,-1!"
  72. set "autocad_versions=!autocad_versions:~0,-1!"
  73. set "plugins_status=!plugins_status:~0,-1!"
  74.  
  75. :: Write to Output File
  76. echo !revit_versions!;!navisworks_versions!;!autocad_versions!;!desktop_connector_version!;!plugins_status! >> "%output_file%"
  77.  
  78. :: Completion Message
  79. echo Zahvaljujem se na vasoj saradnji, svako dobro!
  80. pause
  81. exit /b
  82.  
  83. :check_plugin
  84. set PLUGIN_NAME=%~1
  85. set PLUGIN_PATH=%~2
  86. if exist "%PLUGIN_PATH%" (
  87.    set "plugins_status=!plugins_status!!PLUGIN_NAME! (INSTALLED),"
  88. ) else (
  89.    set "plugins_status=!plugins_status!!PLUGIN_NAME! (NOT INSTALLED),"
  90. )
  91. exit /b
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement