我有一个bin文件夹,其中包含在调试和发布中构建的dll文件:
myFirstFile.dll
myFirstFiled.dll
mySecondFile.dll
mySecondFiled.dll
...
文件名彼此不同,但规则是在调试模式下构建的dll以' d'结尾。 我无法在.bat脚本中找到一种方法将这些文件复制到名为Debug和Release的两个不同文件夹中,以便dll以' d'将复制到Debug文件夹和Release文件夹中的所有其他文件夹中。
答案 0 :(得分:2)
mkdir Debug
mkdir Release
for %a in (*.dll) do if exist %~nad.dll move %~nad.dll Debug
move *.dll Release
答案 1 :(得分:2)
您可以使用in-place variable editing 检查文件名结尾,如下例所示:
setlocal enabledelayedexpansion
for %%F in (*.dll) do (
set plainname=%%~nF
if "!plainname:~-1!"=="d" (
move %%F DEBUG
) else (
move %%F RELEASE
)
)
endlocal