启动开发者命令提示符:
然后从Visual Studio中复制以下行:
$(ProjectDir)
替换为实际项目路径。这样,您就可以在将来从“Solution Explorer”中运行批处理文件了。更多详细信息请参见此处。
Bat文件解决方案1
要么传入要运行的路径,要么依赖于%SolutionPath%(这是在从Visual Studio运行bat文件时提供的环境变量)。因此,此方法正在进行一些目录嗅探。(注意,下面的解决方案2可能更好-当然更简单)
@echo off
if not [%1]==[] (set "ProjectDir=%1")
if not [%SolutionPath%]==[] (set "ProjectDir=%SolutionPath%\ProjectSubDirectory)
if [%ProjectDir%]==[] (
echo Error, no Solution Path env var or ProjectDir provided
exit /b
goto :eof
)
cd /d %ProjectDir%
ng build
您的构建后事件将只运行$(ProjectDir)\MyBatchFile.bat "$(ProjectDir)"
Bat文件解决方案2
相对于批处理文件的位置运行目录(更简单的解决方案)。
@echo off
pushd "%dp0"
ng build
popd
$(ProjectDir)\MyBatchFile.bat
,它将在相同的目录中运行。我建议采用这种方法来保持简单。%dp0
是当前执行bat文件的目录。