이 cmd 파일의 기능은 무엇입니까?

이 cmd 파일의 기능은 무엇입니까?

CnC Generals Zero Hour Jimbus Edition에서 이 cmd 파일을 찾았습니다. 저는 배치 언어의 초보자이고 배치 파일의 기능을 모릅니다.

게임을 플레이하려면 이 프로그램을 실행해야 합니까?

이 파일을 언제 실행해야 합니까?

@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" 는

다음을 나타냅니다. 5개의 인수("x)를 사용하여 이 파일 7za.exe를 실행합니다. -y #leeme#\mapsZH.7z" -o "%userprofile%\My Documents"). 이는 실행 파일에 전달되는 명령줄 인수에 대한 표준 프로그래밍 지식입니다.

답변2

이것은 몇 가지 작업을 수행합니다. "echo" 문은 단순히 화면에 메시지를 표시합니다(배치 파일의 소음을 줄이는 특수한 경우인 "@echo off"는 제외). 7-Zip이 이미 설치되어 있다고 가정하고 7za.exe x -y "#leeme#\mapsZH.7z" -o"%userprofile%\Documents"이름이 지정된 파일에서 파일을 추출합니다 . #leeme#\mapsZH.7z이미 존재하는 파일은 덮어쓰게 됩니다. (덮어쓰기 메시지에 대해 "-y"는 "예"를 의미합니다.) -o출력이 사용자 프로필의 "내 문서" 디렉터리로 이동하도록 지정하는 데 사용됩니다. ("디렉토리"라는 단어는 "폴더"와 동일한 것을 설명하는 데 사용됩니다.)

흥미롭게도 7za는 Unix용 7-Zip의 이름입니다. 공식 7-Zip 패키지에는 "7z.exe"라는 실행 파일이 있습니다. 하지만 7-Zip은 오픈 소스이기 때문에 이 게임에 맞춤형 변형이 제공될 수도 있었을 것입니다.

이론적으로는 내 문서 디렉터리의 파일을 덮어쓸 수 있습니다. 그러나 참조된 .7z 파일이 악성이 아닌 경우에는 문제가 발생하지 않을 것입니다. 해당 .7z 파일의 내용이 게임 이름을 딴 하위 디렉터리와 같은 적절한 위치에 있는 게임 관련 데이터인 경우 문서를 삭제하는 데 문제가 없어야 합니다. .7z 파일에 있는 것과 동일한 위치에 문서를 소유하고 동일한 파일 이름을 사용합니다.

언급된 .7z 파일이 여러 개 있습니다. 다른 사람들도 비슷하게 행동합니다.

"REG ADD" 줄은 레지스트리에 정보를 추가합니다. 추가된 모든 항목이 들어가므로 그 중 어느 것도 크게 의심스러워 보이지 않습니다.HKLM\SOFTWARE\Electronic Arts\EA Games\

나머지 줄 중 일부는 다음과 같습니다.
title CnC Generals 및 Zero Hour -Jimbus edition-
바로 가기.exe
바로 가기SWvista.exe
바로 가기SWxp64.exe
바로 가기SWxp32.exe
바로 가기.exe
del /f /q del.txt >nul

이들 중 대부분은 아마도 게임에 맞게 사용자 정의된 실행 파일을 실행하는 것으로 보입니다. 배치 파일을 실행하는 대신 해당 실행 파일을 직접 실행할 수도 있습니다. 대부분의 배치 파일은 초기 위치에 파일을 배치하고 기본 레지스트리 구성을 제공하여 설치하도록 설계된 것처럼 보입니다. 그러나 이러한 명령(또는 7za 명령)은 사용자 정의된 것처럼 보이므로 해당 명령이 정확히 수행하는 작업에 대해 약속할 수 없습니다.

del /f줄은 이름이 지정된 파일을 강제로 삭제하며 del.txt다른/다른 파일을 삭제하는 경향이 없는 것 같습니다.

관련 정보