Batch file 批处理文件:将最后一个目录中的文件复制到另一个目录中
我有一个目录,其中有XX个子文件夹,这些子文件夹中有接近YY的文件(最多ZZ层)。文件是Batch file 批处理文件:将最后一个目录中的文件复制到另一个目录中,batch-file,Batch File,我有一个目录,其中有XX个子文件夹,这些子文件夹中有接近YY的文件(最多ZZ层)。文件是.jpg或.png,每个扩展名都有一个唯一的文件名。我需要将文件复制到根目录(另一个目录),而不需要像xcopy那样重新创建子文件夹结构,而是使用最后一个文件夹 现有: Dir1\Folder1\Holiday.jpg Dir1\Folder3\Picture.png Dir1\Folder3\Mobile.jpg Dir1\Folder3\Dir2\000114.jpg Dir1\Folder3\Dir2\
.jpg
或.png
,每个扩展名都有一个唯一的文件名。我需要将文件复制到根目录(另一个目录),而不需要像xcopy
那样重新创建子文件夹结构,而是使用最后一个文件夹
现有:
Dir1\Folder1\Holiday.jpg
Dir1\Folder3\Picture.png
Dir1\Folder3\Mobile.jpg
Dir1\Folder3\Dir2\000114.jpg
Dir1\Folder3\Dir2\000115.jpg
Dir1\Folder3\Dir2\000116.jpg
Dir1\Folder5\Dir3\A.jpg
Dir1\Folder5\Dir3\B.png
Dir1\Folder5\Dir3\Dir4\a1.jpg
Dir1\Folder5\Dir3\Dir4\b12.png
Dir1\Folder5\Dir3\Dir4\c45.jpg
Dir1\Holiday.jpg
Folder3\Picture.png
Folder3\Mobile.jpg
Dir2\000114.jpg
Dir2\000115.jpg
Dir2\000116.jpg
Dir3\A.jpg
Dir3\B.png
Dir4\a1.jpg
Dir4\b12.png
Dir4\c45.jpg
必填项:
Dir1\Folder1\Holiday.jpg
Dir1\Folder3\Picture.png
Dir1\Folder3\Mobile.jpg
Dir1\Folder3\Dir2\000114.jpg
Dir1\Folder3\Dir2\000115.jpg
Dir1\Folder3\Dir2\000116.jpg
Dir1\Folder5\Dir3\A.jpg
Dir1\Folder5\Dir3\B.png
Dir1\Folder5\Dir3\Dir4\a1.jpg
Dir1\Folder5\Dir3\Dir4\b12.png
Dir1\Folder5\Dir3\Dir4\c45.jpg
Dir1\Holiday.jpg
Folder3\Picture.png
Folder3\Mobile.jpg
Dir2\000114.jpg
Dir2\000115.jpg
Dir2\000116.jpg
Dir3\A.jpg
Dir3\B.png
Dir4\a1.jpg
Dir4\b12.png
Dir4\c45.jpg
这将帮助您开始: 第一个for循环枚举整个目录结构。%%我将是文件的完整路径。 第二个for循环仅用于查看不包括最后一个“\”的目录路径,因此它看起来像文件的完整路径
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /r %%i in (*) do (
set pt=%%~pi
for %%j in ("!pt:~0,-1!") do (
echo LastDir=%%~nxj
echo Filename=%%~nxi
echo.
)
)
非常感谢,你是一位真正的大师。我只添加了以下内容:-带空格的路径名的引号:复制“%%I”“%%~nxj”存在函数:如果不存在“%%~nxj”md“%%~nxj”Jan E.浦肯野大学