@echo off
title VMware Configuration Editor
echo ========================================
echo VMware System Info Editor
echo ========================================
echo.
:: Путь к файлу конфигурации виртуальной машины
set "VMX_PATH=C:\VMs\YourVM\yourvm.vmx"
:: Проверка существования файла
if not exist "%VMX_PATH%" (
echo Ошибка: Файл %VMX_PATH% не найден!
echo.
echo Пожалуйста, укажите путь к вашему .vmx файлу:
set /p "VMX_PATH=Путь: "
if not exist "%VMX_PATH%" (
echo Файл не найден. Выход...
pause
exit /b 1
)
)
echo Редактирование: %VMX_PATH%
echo.
:: Создание резервной копии
set "BACKUP_PATH=%VMX_PATH%.backup_%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
set "BACKUP_PATH=%BACKUP_PATH: =0%"
copy "%VMX_PATH%" "%BACKUP_PATH%"
echo [OK] Резервная копия создана: %BACKUP_PATH%
echo.
:: Параметры для изменения
:: System Manufacturer = SMBIOS.systemManufacturer
:: System Model = SMBIOS.systemProductName
:: BIOS Version = SMBIOS.bios.version
echo Введите новые значения:
echo.
set /p "NEW_MANUF=System Manufacturer (например: Dell Inc.): "
set /p "NEW_MODEL=System Model (например: OptiPlex 7090): "
set /p "NEW_BIOS=BIOS Version (например: 1.0.0): "
echo.
echo ========================================
echo Применение изменений...
echo ========================================
:: Временный файл
set "TEMP_FILE=%TEMP%\vmx_edit_temp.vmx"
:: Редактирование или добавление параметров
(
for /f "usebackq delims=" %%a in ("%VMX_PATH%") do (
set "line=%%a"
setlocal enabledelayedexpansion
if "!line:SMBIOS.systemManufacturer=!" neq "!line!" (
echo SMBIOS.systemManufacturer = "!NEW_MANUF!"
) else if "!line:SMBIOS.systemProductName=!" neq "!line!" (
echo SMBIOS.systemProductName = "!NEW_MODEL!"
) else if "!line:SMBIOS.bios.version=!" neq "!line!" (
echo SMBIOS.bios.version = "!NEW_BIOS!"
) else (
echo !line!
)
endlocal
)
:: Добавляем параметры, если их нет
if not defined found_manuf echo SMBIOS.systemManufacturer = "%NEW_MANUF%"
if not defined found_model echo SMBIOS.systemProductName = "%NEW_MODEL%"
if not defined found_bios echo SMBIOS.bios.version = "%NEW_BIOS%"
) > "%TEMP_FILE%"
:: Замена оригинального файла
move /y "%TEMP_FILE%" "%VMX_PATH%" > nul
echo.
echo [OK] Настройки обновлены!
echo.
echo Новые значения:
echo Manufacturer: %NEW_MANUF%
echo Model: %NEW_MODEL%
echo BIOS Version: %NEW_BIOS%
echo.
echo ВНИМАНИЕ:
echo 1. Виртуальная машина должна быть ВЫКЛЮЧЕНА!
echo 2. После изменений нужно перезагрузить виртуальную машину
echo.
echo Дополнительные параметры в .vmx файле:
echo SMBIOS.reflectHost = FALSE (должно быть FALSE)
echo SMBIOS.useExternal = TRUE
echo.
pause