我需要将文件从最近的build文件夹复制到另一个用于测试的文件夹。我很难获得最新构建文件夹的名称。
我目前的尝试是:
@for /D %%i in ('dir e:\builds\projectA\* /O:D') do set target=%%i
echo %target%
xcopy "%target%\*.*" \\devbox\projectA /y /s
我希望目标是新创建的文件夹,然后我可以从中复制文件。但是,当我向控制台回显目标时,它只是说:
/O:D'
有谁知道如何让这个工作(或知道替代方案)?
答案 0 :(得分:5)
用/ F替换/ D并将/ B添加到括号内的dir命令。
@for /F %%i in ('dir e:\builds\projectA\* /O:D /B') do set target=%%i
echo %target%
xcopy "%target%\*.*" \\devbox\projectA /y /s
答案 1 :(得分:0)
pushd E:\builds\projectA
for /f "delims=" %%d in ('dir /b /a:d /o:d') do @echo %%d>latest.txt
for /f "delims=" %%l in (latest.txt) do xcopy "%%l\*.*" \\devbox\projectA /y /s
del latest.txt
popd