Что делает этот cmd-файл?

Что делает этот cmd-файл?

Я нашел этот cmd-файл в CnC Generals Zero Hour Jimbus Edition. Я новичок в пакетном языке и не знаю, что делает пакетный файл.

Нужно ли мне запускать это, чтобы играть в мою игру?

Когда следует запускать этот файл?

@echo off
title CnC Generals and Zero Hour -Jimbus edition-
echo.
echo.
echo Se van a crear accesos directos e introducir los oportunos
echo datos en el registro para el usuario activo.
echo.
echo Pulse cualquier tecla para continuar o cierre esta ventana
echo para salir.
pause >nul
if exist "%userprofile%\Documents" goto vista
if exist "%userprofile%\My Documents" goto xp64
if exist "%userprofile%\Mis documentos" goto xp32
shortcuts.exe
echo.
echo.
echo El proceso ha terminado exitosamente, aunque no se
echo han podido instalar nuevos mapas ("maps.7z") ni el
echo mod SECONDWAVE ("SecondWave.7z") porque no se ha
echo ha encontrado la carpeta "Mis documentos".
echo.
echo.
pause
exit
:vista
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Documents"
7za.exe x -y "#leeme#\mods\SecondWave.7z" -o"%userprofile%\Documents"
shortcutSWvista.exe
del /f /q "%userprofile%\Documents\Command And Conquer Generals Zero Hour Data\del.txt" >nul
goto finfin
:xp64
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\My Documents"
7za.exe x -y "#leeme#\mods\SecondWave.7z" -o"%userprofile%\My Documents"
shortcutSWxp64.exe
del /f /q "%userprofile%\My Documents\Command And Conquer Generals Zero Hour Data\del.txt" >nul
goto finfin
:xp32
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Mis documentos"
7za.exe x -y "#leeme#\mods\SecondWave.7z" -o"%userprofile%\Mis documentos"
shortcutSWxp32.exe
del /f /q "%userprofile%\Mis documentos\Command And Conquer Generals Zero Hour Data\del.txt" >nul
:finfin
shortcuts.exe
del /f /q del.txt >nul
if exist "%commonprogramfiles(x86)%" goto 64bits
echo.
echo.
echo Sistema de 32 bits
echo.
REG ADD "HKLM\SOFTWARE\EA GAMES\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v DisplayName /d "Command and Conquer Generals Zero Hour" >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v Language /d english >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v UserDataLeafName /d "Command and Conquer Generals Zero Hour Data" >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v InstallPath /d "%cd%"\ZeroHour\
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_DWORD /v Version /d 00065540 >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_DWORD /v MapPackVersion /d 00065536 >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Generals" /f /t REG_SZ /v InstallPath /d "%cd%"\Generals\ >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Generals" /f /t REG_SZ /v Language /d english >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Generals" /f /t REG_DWORD /v MapPackVersion /d 00065536 >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Generals" /f /t REG_DWORD /v Version /d 00065544 >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour\ergc" /f /t REG_SZ /ve /d "4EFFYZNG6AS43QJQ44YG" >nul
REG ADD "HKLM\SOFTWARE\Electronic Arts\EA Games\Generals\ergc" /f /t REG_SZ /ve /d "1743703041400199090005" >nul
goto last
:64bits
echo.
echo.
echo Sistema de 64 bits
echo.
REG ADD "HKLM\SOFTWARE\Wow6432Node\EA GAMES\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v DisplayName /d "Command and Conquer Generals Zero Hour" >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v Language /d english >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v UserDataLeafName /d "Command and Conquer Generals Zero Hour Data" >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_SZ /v InstallPath /d "%cd%"\ZeroHour\ >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_DWORD /v Version /d 00065540 >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour" /f /t REG_DWORD /v MapPackVersion /d 00065536 >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals" /f /t REG_SZ /v InstallPath /d "%cd%"\Generals\ >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals" /f /t REG_SZ /v Language /d english >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals" /f /t REG_DWORD /v MapPackVersion /d 00065536 >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals" /f /t REG_DWORD /v Version /d 00065544 >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour\ergc" /f /t REG_SZ /ve /d "4EFFYZNG6AS43QJQ44YG" >nul
REG ADD "HKLM\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals\ergc" /f /t REG_SZ /ve /d "1743703041400199090005" >nul
:last
cls
echo.
echo  El proceso ha terminado exitosamente y se han
echo  creado accesos directos en "INICIO\PROGRAMAS".
echo.
echo  Pulse cualquier tecla para salir.
pause >nul

PS: Пакетный файл включает испанский язык.

решение1

(редактировать) Да, это необходимый компонент для установки вашей игры. Это также может быть компонент, который ваша игра вызывает во время игры. Скорее всего, это просто часть установки.


Это действительно пакетный файл. Пакетный файл — это команда для любой машины Windows, это рутина инструкций, которая действует очень похоже на любой исполняемый файл. Испанский, на который вы ссылаетесь, — это выходное сообщение для пользователя (например, Вы сейчас выполняете этот файл!), или как в вашем файле на строке 5:

echo Se van a crear accesos directos e introducir los oportunos

echo — это команда в этом исполняемом файле для вывода сообщения на экран.

Судя по остальной части (то, что вы называете) файла "cmd", в нем есть команды для установки других исполняемых файлов в эту конкретную папку. Так что, короче говоря, да, это необходимый файл.

И отвечая на ваш другой вопрос. Я предполагаю, что этот пакетный файл будет вызван исполняемым файлом установки и пакетный файл будет выполнен так, как того хочет программист.

Примечание:
строка 32 в вашем изображении --
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\My Documents"

гласит: выполнить этот файл 7za.exe с 5 аргументами ("x -y #leeme#\mapsZH.7z" -o "%userprofile%\My Documents"). Это стандартные знания программирования об аргументе командной строки, передаваемом исполняемому файлу.

решение2

Это делает несколько вещей. Операторы "echo" просто показывают сообщение на экране (за исключением "@echo off", что является особым случаем, который делает пакетный файл менее шумным). Извлекает 7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Documents"файлы из файла с именем , #leeme#\mapsZH.7zпредполагая, что 7-Zip уже установлен. Все уже существующие файлы будут перезаписаны ("-y" говорит "да" на запросы о перезаписи.) Используется -oдля указания того, что вывод будет отправлен в каталог "Мои документы" профиля пользователя. (Слово "каталог" используется для описания того же, что и "папка".)

Интересно, что 7za — это название 7-Zip для Unix. Официальный пакет 7-Zip имеет исполняемый файл под названием "7z.exe". Но поскольку 7-Zip имеет открытый исходный код, я полагаю, что эта игра могла бы поставляться с пользовательской вариацией.

Теоретически это может перезаписать файлы в вашем каталоге Мои документы. Однако это, вероятно, не вызовет проблем, если указанные файлы .7z не являются вредоносными. Если содержимое этих файлов .7z представляет собой просто данные, связанные с игрой, в разумных местах, таких как подкаталог, названный в честь игры, то у вас не должно возникнуть проблем с удалением ваших собственных документов (при условии, что вы не размещаете свои собственные документы в том же месте и не используете то же имя файла, что и все, что находится в файле .7z).

Упоминается несколько файлов .7z; остальные действуют аналогично.

Строки "REG ADD" добавляют информацию в реестр. Ничего из этого не выглядит подозрительным, так как все добавленное идет вHKLM\SOFTWARE\Electronic Arts\EA Games\

Некоторые из оставшихся строк включают:
title CnC Generals and Zero Hour -Jimbus edition-
shortcuts.exe
shortcutSWvista.exe
shortcutSWxp64.exe
shortcutSWxp32.exe
shortcuts.exe
del /f /q del.txt >nul

Большинство из них, похоже, запускают исполняемый файл, который, вероятно, является пользовательским для игры. Вы можете просто запустить этот исполняемый файл напрямую, вместо запуска пакетного файла. Большая часть пакетного файла выглядит так, как будто он предназначен для установки, размещая файлы в начальных расположениях и предоставляя базовую конфигурацию реестра. Однако, поскольку эти команды (или команда 7za) выглядят так, как будто они могут быть пользовательскими, я не могу давать никаких обещаний относительно того, что именно они делают.

Строка del /fпринудительно удаляет указанный файл del.txtи, похоже, не склонна удалять какие-либо другие/отличные файлы.

Связанный контент