Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何从文件夹路径中最后一个文件夹名未知的文件夹中复制具有固定名称的文件?_Batch File - Fatal编程技术网

Batch file 如何从文件夹路径中最后一个文件夹名未知的文件夹中复制具有固定名称的文件?

Batch file 如何从文件夹路径中最后一个文件夹名未知的文件夹中复制具有固定名称的文件?,batch-file,Batch File,我在复制文件时遇到问题,因为目录树中一个目录的名称不同 目录树是:D:\folder\未知文件夹\myfile.rar 我想复制D:\folder\中只包含一个文件夹的RAR文件 此文件夹的名称各不相同,因此我不知道 我希望批处理脚本打开D:\folder\,然后找到并打开第一个子文件夹,最后复制RAR文件myfile.RAR 大概是这样的: copy "D:\folder\*\myfile.rar" "D:\a.rar" 对于d:\folder下的每个文件夹,如果搜索的文件存在,请复制到目

我在复制文件时遇到问题,因为目录树中一个目录的名称不同

目录树是:D:\folder\未知文件夹\myfile.rar

我想复制D:\folder\中只包含一个文件夹的RAR文件

此文件夹的名称各不相同,因此我不知道

我希望批处理脚本打开D:\folder\,然后找到并打开第一个子文件夹,最后复制RAR文件myfile.RAR

大概是这样的:

 copy "D:\folder\*\myfile.rar" "D:\a.rar"

对于
d:\folder
下的每个文件夹,如果搜索的文件存在,请复制到目标文件夹

for /d %%a in ("d:\folder\*") do if exist "%%a\myfile.rar" copy "%%a\myfile.rar" d:\a.rar

要从命令行使用它,请将
%%
下每个文件夹的所有
%%
替换为
,如果搜索的文件存在,请复制到目标文件夹

for /d %%a in ("d:\folder\*") do if exist "%%a\myfile.rar" copy "%%a\myfile.rar" d:\a.rar

要从命令行使用它,请将
%%
下每个文件夹的所有
%%
替换为
,如果搜索的文件存在,请复制到目标文件夹

for /d %%a in ("d:\folder\*") do if exist "%%a\myfile.rar" copy "%%a\myfile.rar" d:\a.rar

要从命令行使用它,请将
%%
下每个文件夹的所有
%%
替换为
,如果搜索的文件存在,请复制到目标文件夹

for /d %%a in ("d:\folder\*") do if exist "%%a\myfile.rar" copy "%%a\myfile.rar" d:\a.rar

要从命令行使用它,请将所有
%%
替换为
%%

复制不支持路径中的通配符

MC ND的答案很好,但您也可以尝试以下方法:

for /f "delims=" %%a in ('dir /b /s /a:-d "D:/folder/" ^|findstr /i /e /c:"/myfile.rar"') do (
   copy "%%a" d:\a.rar
)

复制不支持路径中的通配符

MC ND的答案很好,但您也可以尝试以下方法:

for /f "delims=" %%a in ('dir /b /s /a:-d "D:/folder/" ^|findstr /i /e /c:"/myfile.rar"') do (
   copy "%%a" d:\a.rar
)

复制不支持路径中的通配符

MC ND的答案很好,但您也可以尝试以下方法:

for /f "delims=" %%a in ('dir /b /s /a:-d "D:/folder/" ^|findstr /i /e /c:"/myfile.rar"') do (
   copy "%%a" d:\a.rar
)

复制不支持路径中的通配符

MC ND的答案很好,但您也可以尝试以下方法:

for /f "delims=" %%a in ('dir /b /s /a:-d "D:/folder/" ^|findstr /i /e /c:"/myfile.rar"') do (
   copy "%%a" d:\a.rar
)