这个 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 个参数执行此文件 7za.exe ("x -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 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,并且似乎不容易删除任何其他/不同的文件。

相关内容