1

У меня есть программа, которая компилирует себя и генерирует файлы .exe в своих подкаталогах (например, release_win_* для каждого приложения "App1", "App2" и т.д.).

Я хотел бы найти конкретные сгенерированные файлы .exe и скопировать их в определенную bin .

Я имею :

SET /p copyresult = dir /b /mydir | findstr /s /m release_win_64/*.exe
copy /y %copyresult% /bin

Однако у меня есть проблема. Кажется, команда findstr не принимает такие символы подстановки. Я не могу использовать подстановочный знак. Это не ставит никаких результатов на консоли.

Есть ли у вас какие-либо подсказки?

РЕДАКТИРОВАТЬ: Добавлен "release_win_64/*. Exe" в качестве подстановочного знака

1 ответ1

4

«Я хотел бы найти конкретные сгенерированные файлы .exe и скопировать их в определенное место для бина».

Использование командного файла:

cd \mydir
for /r %%a in (*.exe) do xcopy "%%a" \bin /i

Из командной строки:

cd \mydir
for /r %a in (*.exe) do xcopy "%a" \bin /i

release_win_64\*.exe качестве символа подстановки

Использование командного файла:

cd \mydir
for /f %%a in ('dir /b /s release_win_64\*.exe') do xcopy "%%a" \bin /i

Из командной строки:

cd \mydir
for /f %a in ('dir /b /s release_win_64\*.exe') do xcopy "%a" \bin /i

Чтобы сопоставить *.exe как подстановочный знак в любом подкаталоге уровня с именем release_win_64

Использование командного файла:

cd \mydir
for /f %%a in ('dir /b /s *.exe ^| findstr "release_win_64"') do xcopy "%%a" \bin /i

Из командной строки:

cd \mydir
for /f %a in ('dir /b /s *.exe ^| findstr "release_win_64"') do xcopy "%a" \bin /i

Посмотрите Индекс AZ командной строки Windows CMD для получения дополнительной информации о for и xcopy .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .