¿Qué hace este archivo cmd?

¿Qué hace este archivo cmd?

Encontré este archivo cmd en CnC Generals Zero Hour Jimbus Edition. Soy un novato en el lenguaje por lotes y no sé qué hace el archivo por lotes.

¿Necesitaría ejecutar esto para poder jugar mi juego?

¿Cuándo debo ejecutar este archivo?

@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

PD: El archivo por lotes incluye español.

Respuesta1

(editar) Sí, este es un componente necesario para instalar el juego. También podría ser un componente que tu juego llama durante el juego. Lo más probable es que sea sólo parte de la instalación.


De hecho, este es un archivo por lotes. Un archivo por lotes es un comando para cualquier máquina con Windows, es una rutina de instrucciones y actúa de manera muy similar a cualquier archivo ejecutable. El español al que se refiere es un mensaje de salida para el usuario (por ejemplo, ¡ahora está ejecutando este archivo!), o como en su archivo en la línea 5:

echo Se van a crear accesos directos e introducir los oportunos

echo es un comando en este archivo ejecutable para imprimir un mensaje en la pantalla.

Por la apariencia del resto del archivo (lo que usted llama) "cmd", tiene comandos para instalar otros archivos ejecutables en esa carpeta de archivos en particular. En resumen, sí, este es un archivo necesario.

Y para responder a tu otra pregunta. Supongo que el ejecutable de instalación debe llamar a este archivo por lotes y que el archivo por lotes se ejecutará según lo desee el programador.

Nota:
la línea 32 de su imagen -
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\My Documents"

dice esto: ejecute este archivo 7za.exe con 5 argumentos ("x -y #leeme#\mapsZH.7z" -o "%userprofile%\Mis documentos"). Ese es el conocimiento de programación estándar de un argumento de línea de comando que se pasa a un ejecutable.

Respuesta2

Esto hace algunas cosas. Las declaraciones "echo" simplemente muestran un mensaje en la pantalla (excepto "@echo off", que es un caso especial que hace que el archivo por lotes sea menos ruidoso). Extrae 7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Documents"archivos de un archivo llamado #leeme#\mapsZH.7zsuponiendo que 7-Zip ya está instalado. Todos los archivos ya existentes se sobrescribirán (la "-y" dice "sí" a las solicitudes de sobrescritura). Se -outiliza para especificar que la salida irá al directorio "Mis documentos" del perfil de usuario. (La palabra "directorio" se utiliza para describir lo mismo que una "carpeta".)

Curiosamente, 7za es el nombre de 7-Zip para Unix. El paquete oficial 7-Zip tiene un ejecutable llamado "7z.exe". Pero como 7-Zip es de código abierto, supongo que este juego podría haber tenido una variación personalizada.

En teoría, esto podría sobrescribir archivos en su directorio Mis documentos. Sin embargo, eso probablemente no causará problemas si los archivos .7z a los que se hace referencia no son maliciosos. Si el contenido de esos archivos .7z son solo datos relacionados con el juego, en ubicaciones sensibles como un subdirectorio que lleva el nombre del juego, entonces no deberías tener problemas con la eliminación de tus propios documentos (suponiendo que no coloques tu sus propios documentos en la misma ubicación y use el mismo nombre de archivo que el que está en el archivo .7z).

Se mencionan varios archivos .7z; los demás actúan de manera similar.

Las líneas "REG ADD" agregan información al registro. Nada de eso parece terriblemente sospechoso ya que todas las cosas añadidas van aHKLM\SOFTWARE\Electronic Arts\EA Games\

Algunas de las líneas restantes incluyen:
título CnC Generals y Zero Hour -Edición Jimbus-
shorts.exe
shortsWvista.exe
shortsWxp64.exe
shortsSWxp32.exe
shorts.exe
del /f /q del.txt >nul

La mayoría de ellos parecen estar ejecutando un archivo ejecutable que probablemente sea personalizado con el juego. Es posible que pueda ejecutar ese archivo ejecutable directamente, en lugar de ejecutar el archivo por lotes. Gran parte del archivo por lotes parece estar diseñado para instalarse, colocando archivos en ubicaciones iniciales y proporcionando una configuración de registro básica. Sin embargo, dado que estos comandos (o el comando 7za) parecen personalizados, no puedo hacer ninguna promesa sobre lo que hacen exactamente.

La del /flínea realiza una eliminación forzosa del archivo nombrado del.txty no parece ser propensa a eliminar ningún otro archivo diferente.

información relacionada