我有一个程序,它能自行编译并.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
“我想找到这些生成的特定 .exe 文件并将它们复制到特定的 bin 位置。”
使用批处理文件:
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
看Windows CMD 命令行的 AZ 索引for
欲了解有关和 的更多信息xcopy
。