這個cmd檔有什麼作用?

這個cmd檔有什麼作用?

我在CnC將軍零時Jimbus版找到了這個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%\我的文件")。這是傳遞給可執行檔的命令列參數的標準程式設計知識。

答案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.exeshortcutSWvista.exeshortcutSWxp64.exeshortcutSWxp32.exeshortcuts.exedel /
f / q del.txt >nul





其中大多數似乎正在運行一個可執行文件,該文件可能是遊戲自訂的。您也許可以直接執行該可執行文件,而不是執行批次檔。大部分批次檔看起來像是設計用於安裝的,透過將檔案放置在初始位置並提供基本的註冊表配置。但是,由於這些命令(或 7za 命令)看起來可能是自訂的,因此我無法對它們的特定用途做出任何承諾。

del /f行強制刪除指定的文件del.txt,並且似乎不容易刪除任何其他/不同的文件。

相關內容