Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- set output_file=Z:\00_BIM_Update\SOFTWARE CHECKER\%COMPUTERNAME% - System Report.txt
- :: Create output directory if it doesn't exist
- set OUTPUT_DIR=Z:\00_BIM_Update\SOFTWARE CHECKER
- if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
- :: Initialize Output File with Headers
- echo REVIT;NAVISWORKS;AUTOCAD;DESKTOP CONNECTOR;PLUGINS > "%output_file%"
- :: Initialize Variables
- set "revit_versions="
- set "navisworks_versions="
- set "autocad_versions="
- set "desktop_connector_version="
- set "plugins_status="
- :: Enable delayed expansion for proper concatenation
- setlocal enabledelayedexpansion
- :: Collect Revit Versions
- for /d %%A in ("%ProgramFiles%\Autodesk\Revit*") do (
- if exist "%%A\Revit.exe" (
- for /f "delims=" %%B in ('powershell -NoProfile -Command "(Get-Item '%%A\Revit.exe').VersionInfo.FileVersion"') do (
- for /f "tokens=1-3 delims=." %%C in ("%%B") do (
- set "revit_versions=!revit_versions!%%C.%%D.%%E,"
- )
- )
- )
- )
- :: Collect Desktop Connector Version
- set desktop_connector_path=C:\Program Files\Autodesk\Desktop Connector\DesktopConnector.Applications.Tray.exe
- if exist "%desktop_connector_path%" (
- for /f "delims=" %%A in ('powershell -NoProfile -Command "(Get-Item '%desktop_connector_path%').VersionInfo.FileVersion"') do (
- set "desktop_connector_version=%%A"
- )
- )
- :: Collect AutoCAD Versions
- for /d %%A in ("%ProgramFiles%\\Autodesk\\AutoCAD*") do (
- set "folder_name=%%~nxA"
- for /f "tokens=2" %%B in ("!folder_name!") do (
- if "%%B" geq "2000" if "%%B" leq "2100" (
- set "autocad_versions=!autocad_versions!AutoCAD %%B,"
- )
- )
- )
- :: Collect Navisworks Manage Versions
- for /d %%A in ("%ProgramFiles%\\Autodesk\\Navisworks Manage*") do (
- set "folder_name=%%~nxA"
- for /f "tokens=3 delims= " %%B in ("!folder_name!") do (
- set "navisworks_versions=!navisworks_versions!Manage %%B,"
- )
- )
- :: Check Plugins and Collect Status
- call :check_plugin "pyRevit" "%ProgramData%\Autodesk\Revit\Addins\2024\pyRevit.addin"
- call :check_plugin "nwexportrevit" "%ProgramData%\Autodesk\Revit\Addins\2024\nwexportrevit.addin"
- call :check_plugin "DiRoots.One" "%ProgramData%\Autodesk\Revit\Addins\2024\DiRoots.One.addin"
- call :check_plugin "DiRoots.ProSheets" "%ProgramData%\Autodesk\Revit\Addins\2024\DiRoots.ProSheets.addin"
- call :check_plugin "Revit.IFC" "%ProgramData%\Autodesk\ApplicationPlugins\IFC 2024.bundle\Contents\2024\Revit.IFC.addin"
- call :check_plugin "pglMagicViews" "%ProgramData%\Autodesk\ApplicationPlugins\pglMagicViews.bundle\Contents\2024\pglMagicViews.addin"
- call :check_plugin "Symetri.NaviateLt" "%ProgramData%\Autodesk\ApplicationPlugins\Symetri Naviate LT.bundle\Contents\Windows\2024\Symetri.NaviateLt.addin"
- :: Remove trailing commas
- set "revit_versions=!revit_versions:~0,-1!"
- set "navisworks_versions=!navisworks_versions:~0,-1!"
- set "autocad_versions=!autocad_versions:~0,-1!"
- set "plugins_status=!plugins_status:~0,-1!"
- :: Write to Output File
- echo !revit_versions!;!navisworks_versions!;!autocad_versions!;!desktop_connector_version!;!plugins_status! >> "%output_file%"
- :: Completion Message
- echo Zahvaljujem se na vasoj saradnji, svako dobro!
- pause
- exit /b
- :check_plugin
- set PLUGIN_NAME=%~1
- set PLUGIN_PATH=%~2
- if exist "%PLUGIN_PATH%" (
- set "plugins_status=!plugins_status!!PLUGIN_NAME! (INSTALLED),"
- ) else (
- set "plugins_status=!plugins_status!!PLUGIN_NAME! (NOT INSTALLED),"
- )
- exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement