この 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 のように表示されます。

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" は例外で、これはバッチ ファイルのノイズを少なくする特別なケースです)。 は、 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が、他のファイルや異なるファイルを削除する傾向はないようです。

関連情報