师傅mod制作用文件处理bat 删除 → 复制 → 打包 → 替换 → 启动游戏

如果你在运行 .bat 文件时,命令行窗口(cmd)出现乱码 ,通常是由于编码不匹配 导致的。Windows 的命令提示符默认使用 GBK 编码(中文系统),而你保存的批处理文件可能是 UTF-8 编码,导致中文显示乱码。


✅ 解决方法一:保存为 ANSI 编码(推荐)

  1. 用记事本打开你的 .bat 文件。
  2. 点击「文件」→「另存为」。
  3. 在保存对话框中:
    • 将「编码」从 UTF-8 改为 ANSI
    • 保存即可。



  • copy /y
    • /y 表示强制覆盖,不提示确认
    • 如果目标位置已有同名文件,会直接被替换
  • 脚本假设源文件 E:\blender\pakchunk99-XXX-P.pak 已存在
  • 目标路径是 Steam 上《师父》(Sifu) 游戏常见的 MOD 加载路径 Paks\~mods

不要加这个chcp 65001 > nul

bash 复制代码
@echo off

setlocal

echo ================================
echo     开始执行 MOD 构建流程
echo ================================
echo.

:: ================ 第一步:删除 Characters 中的 _Shared 和 Skeleton ================
set "char_dir=E:\blender\ue4\new\Saved\Cooked\WindowsNoEditor\new\Content\Characters"

if exist "%char_dir%\_Shared" (
    rmdir /s /q "%char_dir%\_Shared"
    echo ?? 已删除 _Shared 文件夹
)

if exist "%char_dir%\Skeleton" (
    rmdir /s /q "%char_dir%\Skeleton"
    echo ?? 已删除 Skeleton 文件夹
)

echo.

:: ================ 第二步:复制 Characters 到 pakchunk99-XXX-P\Sifu\Content\Characters ================
set "source_dir=%char_dir%"
set "target_char_dir=E:\blender\pakchunk99-XXX-P\Sifu\Content\Characters"

if not exist "%source_dir%" (
    echo ?? 错误:源目录不存在!
    echo   %source_dir%
    pause
    exit /b 1
)

if exist "%target_char_dir%" (
    rmdir /s /q "%target_char_dir%"
    echo ?? 已删除旧的目标 Characters 文件夹
)

echo 正在复制 Characters 到 Sifu 项目...
xcopy "%source_dir%" "%target_char_dir%" /e /i /h /y > nul

if exist "%target_char_dir%" (
    echo ?? Characters 复制成功
) else (
    echo ?? 复制失败!目标路径未生成。
    pause
    exit /b 1
)

echo.

:: ================ 第三步:调用 UnrealPak 打包生成 .pak 文件 ================
set "unreal_pak_script=E:\blender\Sifu-MOD-TOOL\UnrealPak\UnrealPak-With-Compression.bat"
set "pak_folder=E:\blender\pakchunk99-XXX-P"

if not exist "%unreal_pak_script%" (
    echo ?? 错误:UnrealPak 打包脚本不存在!
    echo   %unreal_pak_script%
    pause
    exit /b 1
)

echo 正在调用 UnrealPak 打包...
call "%unreal_pak_script%" "%pak_folder%"

:: 检查是否生成了 .pak 文件
set "pak_file=%pak_folder%.pak"
if exist "%pak_file%" (
    echo ?? .pak 文件已生成:
    echo   %pak_file%
) else (
    echo ?? 打包失败:未生成 .pak 文件!
    pause
    exit /b 1
)

echo.

:: ================ 第四步:将 .pak 文件复制到游戏 MOD 目录 ================
set "target_mod_dir=F:\sifu\Sifu\Sifu\Content\Paks\~mods"
set "target_pak=%target_mod_dir%\pakchunk99-XXX-P.pak"

:: 确保 ~mods 目录存在
if not exist "%target_mod_dir%" (
    echo ?? 错误:MOD 目录不存在!请确认游戏路径正确。
    echo   %target_mod_dir%
    pause
    exit /b 1
)

copy /y "%pak_file%" "%target_pak%" > nul
echo ?? 已替换 MOD 文件到:
echo   %target_pak%

echo.

:: ================ 第五步:启动游戏 ================
set "game_exe=F:\sifu\Sifu\Sifu.exe"

if exist "%game_exe%" (
    echo 正在启动游戏...
    echo   %game_exe%
    start "" "%game_exe%"
    echo ?? 游戏已启动
) else (
    echo ?? 错误:游戏主程序不存在!
    echo   %game_exe%
    echo 请检查路径是否正确。
    pause
    exit /b 1
)

echo.
echo ================================
echo ?? 所有操作已完成!游戏已启动。
echo ================================
echo.
相关推荐
小李不想当小白18 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
hanlin0318 小时前
刷题笔记:力扣第76题-最小覆盖子串
笔记·算法·leetcode
hengmeida18 小时前
楼宇控制柜标准化项目交付完整规范
大数据·网络·笔记
蒸蒸yyyyzwd19 小时前
cpp 选手秋招学习笔记 day40
笔记·八股
有范先生19 小时前
速食米饭:如何避开闷味、干硬的速食主食
笔记
长葡萄的叶子19 小时前
AI Agent 中的 Skill:从 Tool 调用到任务能力封装
笔记·skill
LuminousCPP19 小时前
Linux系统编程(二):从目录树到命令执行|路径、环境变量、alias 与文件操作入门
linux·经验分享·笔记
摇滚侠19 小时前
《Spring Boot 3:高级与架构设计》第 1 章 Bean 与 BeanDefinition 个人理解 2
java·spring boot·笔记·后端
日拱一卒的小田19 小时前
ZYNQ学习笔记4-ZYNQ的SD卡控制器2
笔记·学习
江湖人称菠萝包19 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter8-绘图
笔记·qt·qt5