windows - 如何在bat中获取特定路径下的lib文件列表?
问题描述
这是我的bat文件:
setlocal EnableDelayedExpansion
set DebugLibNames=
for /f "delims=" %%a in ('"dir /s/b *.lib ..\3rdlib\Debug\ 2>nul"') do (
set DebugLibNames=%%DebugLibNames%%, %%a
)
echo DebugLibNames:%DebugLibNames%
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
lib.exe /OUT:world.lib %DebugLibNames%
pause
我想要的是获取一个 lib 文件名列表,然后使用 lib.exe 将它们打包到一个大 lib 中。
但是,DebugLibNames 是空的,我该如何解决?
解决方案
这未经测试,但似乎可能有效或接近。:-)
powershell -NoLogo -NoProfile -File 'Do-It.ps1'
=== Do-It.ps1
$DebugLibNames = Get-ChidItem -Path @('.', '..\3rdlib\Debug') -Filter '*.lib' -ErrorAction SilentlyContinue
Write-Host "DebugLibNames:$($DebugLibNames -join ', ')"
& "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
& lib.exe /OUT:world.lib $($DebugLibNames -join ', ')"
pause
推荐阅读
- android - 在 kotlin 项目中自动增加版本和内部版本号
- makefile - 带有 2 个可执行文件的 Fortran Makefile
- nginx - 获取 SSL 例程:ssl3_get_record:错误的版本号
- ios - 为什么我在 UITableView 中得到空单元格?
- java - Sentry 不适用于 lombok 日志记录(使用 1.7.30 版 Sentry)
- magento - Magento 2 - 将所有 CSS 文件移动到页脚
- sql - 我收到错误“缺少左括号”
- python - 如何在作为 Python 列表的一部分的字符串中插入字符串变量的值?
- algorithm - 匈牙利算法用户的最佳策略是什么?
- julia - 创建要循环的整数索引的最佳/最有效方法是什么?