将 *d.dll 复制到 debug 文件夹,将 *.dll 不带 *d.dll 复制到 release

Gil*_*lad 1 batch-file

我有一个包含类似文件的库

opencv_dnn340.dll
opencv_dnn340d.dll
opencv_features2d340.dll
opencv_features2d340d.dll
opencv_ffmpeg340_64.dll
opencv_flann340.dll
opencv_flann340d.dll
opencv_highgui340.dll
opencv_highgui340d.dll
opencv_imgcodecs340.dll
opencv_imgcodecs340d.dll
opencv_imgproc340.dll
opencv_imgproc340d.dll
Run Code Online (Sandbox Code Playgroud)

我试图在调试模式下只复制 *d.dll 文件,并在发布模式下复制所有没有 *d.dll 的 *.dll 文件

我从这个开始

if %ConfigurationName% == Debug xcopy /y /d "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\*d.dll" "%TargetDir%\"

else xcopy /y /d "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\*.dll" "%TargetDir%\"
Run Code Online (Sandbox Code Playgroud)

但在发布时我复制了所有文件。

现在我正在尝试使用 for 循环

for /R "%SolutionDir%..\..\ia-imaging-opencv-libs\3.4.0\windows\x64\vc12\bin\" "%%File" IN *.dll
    if %ConfigurationName% == Debug & findstr /R *d.dll "%%File"
       xcopy /y /d "%%File" "%TargetDir%\"
    else %ConfigurationName% == Release & NEQ findstr /R *d.dll "%%File"
       xcopy /y /d "%%File" "%TargetDir%\"
Run Code Online (Sandbox Code Playgroud)

能否请你帮忙如何为 *.dll 文件创建一个没有 *d.dll 文件的副本,谢谢

pag*_*ios 5

我创建了 3 个文件夹,Libs、Debug 和 Release。Libs 文件夹包含

opencv_dnn340.dll
opencv_dnn340d.dll
opencv_features2d340.dll
opencv_features2d340d.dll
Run Code Online (Sandbox Code Playgroud)

使用 Robocopy Move 进行调试

robocopy Libs Debug *d.dll
Run Code Online (Sandbox Code Playgroud)

移动到发布

robocopy Libs Release /XF *d.dll
Run Code Online (Sandbox Code Playgroud)