O que esse arquivo cmd faz?

O que esse arquivo cmd faz?

Encontrei este arquivo cmd no CnC Generals Zero Hour Jimbus Edition. Sou novato na linguagem em lote e não sei o que o arquivo em lote faz.

Eu precisaria executar isso para jogar meu jogo?

Quando devo executar este arquivo?

@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: O arquivo em lote inclui espanhol.

Responder1

(editar) Sim, este é um componente necessário para que o seu jogo seja instalado. Também pode ser um componente que seu jogo chama durante o jogo. Provavelmente é apenas parte da instalação.


Este é realmente um arquivo em lote. Um arquivo em lote é um comando para qualquer máquina Windows, é uma rotina de instruções e funciona como qualquer arquivo executável. O espanhol ao qual você se refere é uma mensagem de saída para o usuário (por exemplo, Você está executando este arquivo agora!), ou como em seu arquivo na linha 5:

echo Se van a crear accesos directos e introducir los oportunos

echo é um comando neste arquivo executável para imprimir uma mensagem na tela.

Pela aparência do restante do arquivo (o que você chama) "cmd", ele possui comandos para instalar outros arquivos executáveis ​​nessa pasta de arquivos específica. Resumindo, sim, este é um arquivo necessário.

E para responder à sua outra pergunta. Estou assumindo que este arquivo em lote será chamado pelo executável de instalação e o arquivo em lote será executado conforme desejado pelo programador.

Nota:
a linha 32 da sua imagem -
7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\My Documents"

está afirmando isto: execute este arquivo 7za.exe com 5 argumentos ("x -y #leeme#\mapsZH.7z" -o "%userprofile%\Meus Documentos"). Esse é o conhecimento padrão de programação de um argumento de linha de comando sendo passado para um executável.

Responder2

Isso faz algumas coisas. As instruções "echo" simplesmente mostram uma mensagem na tela (exceto "@echo off", que é um caso especial que faz com que o arquivo em lote tenha menos ruído). Extrai 7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Documents"arquivos de um arquivo nomeado #leeme#\mapsZH.7zassumindo que o 7-Zip já está instalado. Quaisquer arquivos já existentes serão substituídos (o "-y" diz "sim" para prompts de substituição). O -oestá sendo usado para especificar que a saída irá para o diretório "Meus Documentos" do perfil do usuário. (A palavra "diretório" é usada para descrever a mesma coisa que uma "pasta".)

Curiosamente, 7za é o nome do 7-Zip para Unix. O pacote oficial 7-Zip possui um executável chamado “7z.exe”. Mas como o 7-Zip é de código aberto, suponho que este jogo poderia ter vindo com uma variação personalizada.

Em teoria, isso poderia substituir arquivos no diretório Meus Documentos. No entanto, isso provavelmente não causará problemas se os arquivos .7z mencionados não forem maliciosos. Se o conteúdo desses arquivos .7z forem apenas dados relacionados ao jogo, em locais sensatos, como um subdiretório com o nome do jogo, então você não deverá ter problemas com a exclusão de seus próprios documentos (supondo que você não coloque seu possuir documentos no mesmo local e usar o mesmo nome de arquivo do arquivo .7z).

Existem vários arquivos .7z mencionados; os outros agem de forma semelhante.

As linhas “REG ADD” adicionam informações ao registro. Nada disso parece muito suspeito, já que todo o material adicionado vai paraHKLM\SOFTWARE\Electronic Arts\EA Games\

Algumas das linhas restantes incluem:
título CnC Generals e Zero Hour -Jimbus edition-
atalhos.exe
atalhoSWvista.exe
atalhoSWxp64.exe
atalhoSWxp32.exe
atalhos.exe
del /f /q del.txt >nul

A maioria deles parece estar executando um arquivo executável que provavelmente é personalizado com o jogo. Você pode simplesmente executar esse arquivo executável diretamente, em vez de executar o arquivo em lote. Grande parte do arquivo em lote parece ter sido projetado para instalação, colocando os arquivos nos locais iniciais e fornecendo configuração básica do registro. No entanto, como esses comandos (ou o comando 7za) parecem personalizados, não posso fazer nenhuma promessa sobre exatamente o que eles fazem.

A del /flinha faz uma exclusão forçada do arquivo nomeado del.txte não parece estar propensa a excluir quaisquer outros arquivos/diferentes.

informação relacionada