Установка GOG-игр или релизов советы: большое количество DLC

Страницы:  1
Ответить
 

Awasaky

Помощник модератора

Стаж: 17 лет 11 месяцев

Сообщений: 11636

Awasaky · 08-Сен-23 20:53 (2 года назад, ред. 13-Июн-25 15:41)

Большое количество DLC
По информации Antares
Скачиваете и распаковываете архив
Или пишете в текстовом редакторе следующее:
Код:
for %%a in (*.exe) do %%a /sp- /verysilent /suppressmsgboxes
@echo Нажмите любую клавишу. Press any key.
@pause
Сохраняете как файл:
Код:
gog_dlc_install.cmd
  1. Копируете полученный файл gog_dlc_install.cmd в папку, где находятся DLC.
  2. Запускаете cmd (Командная строка) от имени администратора
  3. В ней пишете: cd "путь где находятся DLC"
  4. Вводите имя диска, где находится у вас папка с DLC
  5. И вводите наконец команду "gog_dlc_install"
Затем ждете, когда появится надпись "Нажмите любую клавишу. Press any key."
Жмете любую клавишу и это значит, что DLC установлены.
После завершения установки, закрываете окно.
Файл gog_dlc_install.cmd больше в папке с DLC не нужен, можете переносить в любое другое место или удалять.
Пример:
Код:
C:\Windows\System32>cd D:\Install\MyReleases_old\game-steel.division.2-(67014)\DLC
C:\Windows\System32>d:
D:\Install\MyReleases_old\game-steel.division.2-(67014)\DLC>gog_dlc_install
Пример запуска:

Когда надо жать любую кнопку:

Установленные DLC:
Более информативный вариант скрипта от alukardua
[Профиль]  [ЛС] 

MrGergoth

Стаж: 14 лет 9 месяцев

Сообщений: 182


MrGergoth · 23-Май-24 08:08 (спустя 8 месяцев)

Есть ли способ удалить длц подобным образом перед удалением игры?
[Профиль]  [ЛС] 

Awasaky

Помощник модератора

Стаж: 17 лет 11 месяцев

Сообщений: 11636

Awasaky · 23-Май-24 08:18 (спустя 9 мин.)

Когда вы удаляете основную игру GOG, все установленные в папку игры DLC удаляются автоматически.
[Профиль]  [ЛС] 

MrGergoth

Стаж: 14 лет 9 месяцев

Сообщений: 182


MrGergoth · 24-Май-24 04:48 (спустя 20 часов)

Awasaky писал(а):
86295557Когда вы удаляете основную игру GOG, все установленные в папку игры DLC удаляются автоматически.
Не знал, спасибо!
[Профиль]  [ЛС] 

TsiganVorovaika

Стаж: 9 лет 7 месяцев

Сообщений: 1


TsiganVorovaika · 06-Июл-24 16:56 (спустя 1 месяц 13 дней)

Размещение .cmd файла в папке с exe файлами вроде устанавливает всё нормально, только требует подтверждений
[Профиль]  [ЛС] 

abubaca_48

Стаж: 13 лет 7 месяцев

Сообщений: 27


abubaca_48 · 30-Окт-24 22:27 (спустя 3 месяца 24 дня)

Чтобы не запрашивало подтверждений надо сразу от админа запускать
Сделал PowerShell версию. Может быть полезно когда игра лежит в сетевой папке(тк cmd умеет работать с сетевыми папками только если их подключить как сетевой диск).
Код:
Get-ChildItem -filter *.exe | ForEach-Object { Start-Process -FilePath $_.FullName -ArgumentList "/sp- /verysilent /suppressmsgboxes" }
Просто открываем PowerShell от админа, делаем cd "D:\Torrents\Stellaris_3.13.2.0_(76590)_win_gog\DLC" (или любой другой путь в кавычках хоть сетевая папка), вставляем код и жмём Enter
[Профиль]  [ЛС] 

bel9w

Стаж: 15 лет 1 месяц

Сообщений: 64

bel9w · 03-Ноя-24 07:32 (спустя 3 дня)

Arigato Awasaky sensei
[Профиль]  [ЛС] 

abubaca_48

Стаж: 13 лет 7 месяцев

Сообщений: 27


abubaca_48 · 12-Фев-25 19:41 (спустя 3 месяца 9 дней)

Из темы 4той европпы с 70 dlc где это действительно актуально
Скрипты выше что cmd что мой PowerShell запускают все установщики одновременно что каким то образом обрабатывается инсталлерами гог(часть установщиков ждёт пока другие не отработают) но не есть хорошо и потенциально может вызвать проблемы
Добавлю переработанные версии
1) Переработанная версия топикстартера с ожиданием завершения установки каждого exe
Код:
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
2) Она же с добавлением запроса прав администратора через powershell(чтобы не подтверждать для каждого exe)
Код:
if not "%1"=="am_admin" (
    powershell -Command "Start-Process -Verb RunAs -FilePath '%0' -ArgumentList 'am_admin'"
    exit /b
)
cd /D %~dp0
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
3) Мой код PowerShell с добавлением ожидания завершения exe
Код:
Get-ChildItem -filter *.exe | ForEach-Object { Start-Process -FilePath $_.FullName -ArgumentList "/sp- /verysilent /suppressmsgboxes" -Wait }
4) Код PowerShell alexium8 с отображением прогресса установки
Код:
$exeFiles = Get-ChildItem -Filter *.exe; $totalFiles = $exeFiles.Count; $currentFile = 0; foreach ($exeFile in $exeFiles) { $currentFile++; Write-Host "Installing $currentFile/$totalFiles $($exeFile.Name)"; Start-Process -FilePath $exeFile.FullName -ArgumentList "/sp-", "/verysilent", "/suppressmsgbox" -Wait }
[Профиль]  [ЛС] 

alukardua

Стаж: 13 лет 4 месяца

Сообщений: 9

alukardua · 22-Мар-25 18:15 (спустя 1 месяц 9 дней, ред. 22-Мар-25 18:15)

Код:
@echo off
setlocal enabledelayedexpansion
set total=0
set count=0
:: Count total number of exe files
for /f %%a in ('dir /b *.exe 2^>nul ^| find /c /v ""') do set /a total=%%a
if %total% == 0 (
    echo No EXE files found!
    timeout /t 3 >nul
    exit
)
echo Total installers: %total%
echo ----------------------------------
for %%a in (*.exe) do (
    set /a count+=1
    echo [Step !count! of %total%] Starting installation: %%~na
    start /wait "" "%%a" /sp- /verysilent /suppressmsgboxes
    if errorlevel 1 (
        echo [ERROR] Issue with installer: %%~na
    ) else (
        echo [SUCCESS] Installed: %%~na
    )
    echo ----------------------------------
)
echo All tasks completed!
echo Installed: %count% of %total%
echo.
@echo Press any key to continue...
@pause >nul
Доработанный скрипт под cmd
Основные улучшения:
Предварительный подсчет файлов:
Показывает общее количество установщиков
Проверяет наличие EXE-файлов
Визуальный прогресс:
Отображает текущий шаг (1 из 5)
Рисует разделители между этапами
Показывает имя установщика без расширения (%%~na)
Обратная связь:
Сообщает о начале установки
Фиксирует успешное завершение
Отслеживает ошибки (errorlevel)
Итоговая статистика:
Показывает общее количество выполненных установок
Выводит финальный отчет
[Профиль]  [ЛС] 

Egornova

Стаж: 15 лет 8 месяцев

Сообщений: 767


Egornova · 24-Мар-25 09:42 (спустя 1 день 15 часов, ред. 24-Мар-25 09:42)

abubaca_48 писал(а):
873886411) Переработанная версия топикстартера с ожиданием завершения установки каждого exe
Код:
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
Лучший вариант, но про двойные кавычки забывать не стоит
Цитата:
for %%a in (*.exe) do (start "" /wait "%%a" /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause

alukardua
Тоже хороший вариант, но ябы не стал полагаться на errorlevel при выполнении сторонних exe. Код возврата например 3010 вполне себе может считаться не ошибкой. В вашем случае это конечно не страшно, просто уведомление некорректное будет.
[Профиль]  [ЛС] 

Йомсо

Стаж: 2 года 3 месяца

Сообщений: 85

Йомсо · 04-Апр-25 09:49 (спустя 11 дней)

abubaca_48 писал(а):
87388641Из темы 4той европпы с 70 dlc где это действительно актуально
Скрипты выше что cmd что мой PowerShell запускают все установщики одновременно что каким то образом обрабатывается инсталлерами гог(часть установщиков ждёт пока другие не отработают) но не есть хорошо и потенциально может вызвать проблемы
Добавлю переработанные версии
1) Переработанная версия топикстартера с ожиданием завершения установки каждого exe
Код:
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
2) Она же с добавлением запроса прав администратора через powershell(чтобы не подтверждать для каждого exe)
Код:
if not "%1"=="am_admin" (
    powershell -Command "Start-Process -Verb RunAs -FilePath '%0' -ArgumentList 'am_admin'"
    exit /b
)
cd /D %~dp0
for %%a in (*.exe) do (start "" /wait %%a /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
3) Мой код PowerShell с добавлением ожидания завершения exe
Код:
Get-ChildItem -filter *.exe | ForEach-Object { Start-Process -FilePath $_.FullName -ArgumentList "/sp- /verysilent /suppressmsgboxes" -Wait }
4) Код PowerShell alexium8 с отображением прогресса установки
Код:
$exeFiles = Get-ChildItem -Filter *.exe; $totalFiles = $exeFiles.Count; $currentFile = 0; foreach ($exeFile in $exeFiles) { $currentFile++; Write-Host "Installing $currentFile/$totalFiles $($exeFile.Name)"; Start-Process -FilePath $exeFile.FullName -ArgumentList "/sp-", "/verysilent", "/suppressmsgbox" -Wait }
Благодарю за код для автоустановки дополнений. Но, у меня работает с потверждением каждого ехе-файла. Чтобы он не запрашивал потверждение, пришлось на время установки выключить запрос для администратора на установку приложений в настройках пользователей.
[Профиль]  [ЛС] 

Egornova

Стаж: 15 лет 8 месяцев

Сообщений: 767


Egornova · 04-Апр-25 11:17 (спустя 1 час 27 мин.)

Йомсо писал(а):
87608342Но, у меня работает с потверждением каждого ехе-файла.
Ну так надо было с правами администратора запусткать cmd/ps файл
[Профиль]  [ЛС] 

Йомсо

Стаж: 2 года 3 месяца

Сообщений: 85

Йомсо · 04-Апр-25 12:00 (спустя 43 мин.)

Egornova писал(а):
87608705
Йомсо писал(а):
87608342Но, у меня работает с потверждением каждого ехе-файла.
Ну так надо было с правами администратора запусткать cmd/ps файл
Понял. Благодарю за ответ. На будущее буду знать
[Профиль]  [ЛС] 

malaha84

Стаж: 8 лет 5 месяцев

Сообщений: 30


malaha84 · 25-Апр-25 05:04 (спустя 20 дней)

Можно ли устанавливать какой-то отдельный DLC в произвольном порядке одновременно с игрой?
[Профиль]  [ЛС] 

креветка +

Top Bonus 02* 500GB

Стаж: 15 лет 4 месяца

Сообщений: 51

креветка + · 06-Май-25 14:26 (спустя 11 дней)

alukardua писал(а):
87555463Доработанный скрипт под cmd
Большое спасибо, прекрасный скрипт
[Профиль]  [ЛС] 

Egornova

Стаж: 15 лет 8 месяцев

Сообщений: 767


Egornova · 16-Июл-25 14:59 (спустя 2 месяца 10 дней, ред. 16-Июл-25 14:59)

Предлагаю свой вариант cmd файла
Код:

chcp 65001 >nul 2>&1
reg query "HKU\S-1-5-19\Environment" >nul 2>&1
if "%errorlevel%" NEQ "0" PowerShell.exe -NoProfile -NoLogo -Command "Start-Process -Verb RunAS -FilePath '%0'"&exit
%~d0
cd "%~dp0"
start /w "" PowerShell.exe -NoProfile -NoLogo -Command "Get-ChildItem '%~dp0' -Recurse | Unblock-File"
for %%a in (*.exe) do (start /w "" "%~dp0%%a" /sp- /verysilent /suppressmsgbox)
@pause
Запрашивает права админа если их нету, снимает motw со всех файлов в каталоге и подкаталогах, а потом уже запускает exe файлы с параметрами /sp- /verysilent /suppressmsgbox
[Профиль]  [ЛС] 

DeViL_AI

Стаж: 16 лет 1 месяц

Сообщений: 77

DeViL_AI · 09-Авг-25 09:38 (спустя 23 дня, ред. 09-Авг-25 09:38)

непонятно как из этого :
4 Вводите имя диска, где находится у вас папка с DLC
5 И вводите наконец команду "gog_dlc_install"
получилось это :
C:\Windows\System32>d:
D:\Install\MyReleases_old\game-steel.division.2-(67014)\DLC>gog_dlc_install
ведь должно быть это , тогда :
C:\Windows\System32>d:gog_dlc_install
пропустили строку между "4" и "5" : вставьте путь ещё раз как в шаге "3" ?
И в примере между строками - пробел или перенос сделали как-то ? "C:\Windows\System32>d: D:\Install\MyReleases_old\ga..." - так чтоль строка должна быть ?
наверн я слишком глуп и туп
всё же попробовал .
хм . при нажатии Enter , после шага "3" , Cmd выдала строку подобной "D:\Install\MyReleases_old\game-steel.division.2-(67014)\DLC". После ввода названия вышесозданного файла .cmd - началась установка . Так что шаг "4" видимо пропустился .
Использовал код для файла .cmd этот :
скрытый текст
alukardua писал(а):
87555463
Код:
@echo off
setlocal enabledelayedexpansion
set total=0
set count=0
:: Count total number of exe files
for /f %%a in ('dir /b *.exe 2^>nul ^| find /c /v ""') do set /a total=%%a
if %total% == 0 (
    echo No EXE files found!
    timeout /t 3 >nul
    exit
)
echo Total installers: %total%
echo ----------------------------------
for %%a in (*.exe) do (
    set /a count+=1
    echo [Step !count! of %total%] Starting installation: %%~na
    start /wait "" "%%a" /sp- /verysilent /suppressmsgboxes
    if errorlevel 1 (
        echo [ERROR] Issue with installer: %%~na
    ) else (
        echo [SUCCESS] Installed: %%~na
    )
    echo ----------------------------------
)
echo All tasks completed!
echo Installed: %count% of %total%
echo.
@echo Press any key to continue...
@pause >nul
Доработанный скрипт под cmd
Основные улучшения:
Предварительный подсчет файлов:
Показывает общее количество установщиков
Проверяет наличие EXE-файлов
Визуальный прогресс:
Отображает текущий шаг (1 из 5)
Рисует разделители между этапами
Показывает имя установщика без расширения (%%~na)
Обратная связь:
Сообщает о начале установки
Фиксирует успешное завершение
Отслеживает ошибки (errorlevel)
Итоговая статистика:
Показывает общее количество выполненных установок
Выводит финальный отчет
использованный выше код не закрыл cmd при нажатии любой клавиши ( если такое задумывалось )
[Профиль]  [ЛС] 

Egornova

Стаж: 15 лет 8 месяцев

Сообщений: 767


Egornova · 09-Авг-25 11:01 (спустя 1 час 22 мин.)

DeViL_AI
Вы чего там делаете? просто создайте файл с расширением .cmd в каталоге с установщиками DLC и туда блок кода скопируйте, если у вас проблемы с созданием cmd файла, то вот вам готовый, его в каталог с установщиками DLC поместите и запустите.
https://www.mediafire.com/file/1cjv71b6qj57rj3/gog_dlc_install.cmd/file
[Профиль]  [ЛС] 

КрамсательГолов

Стаж: 15 лет 6 месяцев

Сообщений: 744

КрамсательГолов · 19-Сен-25 09:26 (спустя 1 месяц 9 дней, ред. 19-Сен-25 09:26)

Цитата:
Лучший вариант, но про двойные кавычки забывать не стоит
Цитата:
for %%a in (*.exe) do (start "" /wait "%%a" /sp- /verysilent /suppressmsgbox)
@echo Нажмите любую клавишу. Press any key.
@pause
Отлично всё сработало.
DeViL_AI
Что тут может быть непонятного, если даже пример есть?
К примеру, взять мой случай.
Есть игра - "Dying Light 1" + "30 DLC".
У меня на системе 3 диска: C, D, E.
C - система;
D - сюда я скидываю всякие установщики;
E - игровой диск.
Установщик основной игры и DLC находятся на диски "D".
Скрины:

Нажимаем - "ПКМ" на папке с "DLC", далее вкладка "Безопасность" и смотрим полный путь, где находятся "DLC"

Чтобы на новую строчку переходить без запуска скрипта: Shift+Enter.
1. Получается... - D:\Игры\Dying_Light_The_Following__enhanced_edition_1.53.0_(84492)_win_gog\DLC
Shif+Enter:
2. Далее ставим диск, где находятся "DLC". У меня, как выше из примера понятно, это диск "D"
Получается... - D:
Shift+Enter:
3. После второго пункта, когда вы перейдёте на новую строчку, у вас автоматически перенесётся 1 строчка где вы должны добавить название своего ".cmd файла", т.е. gog_dlc_install.cmd

Ну и нажать запуск.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error