如何使用批处理文件从Unreal Engine .uproject生成Visual Studio项目文件
修正后的批处理实现
你原来的命令核心问题是没有确保批处理运行时的工作路径和项目根目录一致,很容易出现找不到.uproject文件的报错,以下是可直接使用的完整实现:
@echo off :: 切换到当前批处理所在的项目根目录,避免工作路径异常 cd /d "%~dp0" :: 清理旧项目文件和编译缓存 del *.sln /q rmdir /s /q .vs 2>nul rmdir /s /q Binaries 2>nul rmdir /s /q Intermediate 2>nul rmdir /s /q Saved 2>nul rmdir /s /q DerivedDataCache 2>nul :: 自动识别当前目录下的uproject文件,无需手动写死项目名 for %%i in (*.uproject) do ( set "PROJECT_FILE=%%i" ) :: 生成Visual Studio项目文件 "C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exe" /projectfiles "%PROJECT_FILE%"
说明
- 开头加
cd /d "%~dp0"是为了保证不管你在什么位置调用这个批处理,都会先切换到批处理文件所在的目录,也就是UE项目的根目录,避免找不到.uproject文件的错误。 - 追加
2>nul是为了屏蔽待删除目录不存在时的报错信息,不影响正常执行逻辑。 - 自动识别uproject文件的写法可以让这个批处理直接复用在任意UE项目里,不需要每次修改项目名参数。
- UnrealVersionSelector的
/projectfiles参数本身用法是正确的,它会自动读取uproject文件绑定的引擎版本,调用对应版本的UBT生成适配的VS项目文件。
内容的提问来源于stack exchange,提问作者Display Name
相关产品推荐
相关产品推荐

