按通配符名称查找文件并复制它们

Ano*_*223 2 windows-7 batch-file

我有一个程序可以自行编译并.exe在其子目录(例如release_win_*每个应用程序“App1”、“App2”等的目录)中生成文件。

我想找到.exe生成的特定这些文件并将它们复制到特定bin位置。

我有 :

SET /p copyresult = dir /b /mydir | findstr /s /m release_win_64/*.exe
copy /y %copyresult% /bin
Run Code Online (Sandbox Code Playgroud)

但是,我有一个问题。该findstr命令似乎不接受这样的通配符。我无法使用通配符。它不会在控制台上显示任何结果。

你有什么线索吗?

编辑:添加“release_win_64/*.exe”作为通配符

Dav*_*ill 6

“我想找到生成的特定这些 .exe 文件并将它们复制到特定的 bin 位置。”

使用批处理文件:

cd \mydir
for /r %%a in (*.exe) do xcopy "%%a" \bin /i
Run Code Online (Sandbox Code Playgroud)

从命令行:

cd \mydir
for /r %a in (*.exe) do xcopy "%a" \bin /i
Run Code Online (Sandbox Code Playgroud)

release_win_64\*.exe作为通配符匹配

使用批处理文件:

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

从命令行:

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

*.exe在名为的任何级别子目录中作为通配符匹配release_win_64

使用批处理文件:

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

从命令行:

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

有关和 的更多信息,请参阅Windows CMD 命令行的 AZ 索引forxcopy