Как я могу скопировать файлы в «самый новый subdir» в каталоге, используя командный файл? - PullRequest
1 голос
/ 11 мая 2009

Мне нужно скопировать файлы из последней папки сборки в другую папку, используемую для тестирования. Мне трудно получить название самой последней папки для сборки.

Моя текущая попытка такая:

@for /D %%i in ('dir e:\builds\projectA\* /O:D') do set target=%%i
echo %target%
xcopy "%target%\*.*" \\devbox\projectA /y /s 

Я надеялся, что целью будет вновь созданная папка, из которой я мог бы затем скопировать файлы Тем не менее, когда я направляю таргет на консоль, он просто говорит:

/O:D'

Кто-нибудь знает, как я могу заставить это работать (или знает альтернативу)?

Ответы [ 2 ]

5 голосов
/ 11 мая 2009

Замените / D на / F и добавьте / 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
0 голосов
/ 11 мая 2009
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
...