仅将最新文件复制到子目录

仅将最新文件复制到子目录

我有一个批处理文件,在 VS2019 中构建解决方案时运行。.bat 文件使用 xcopy 将 .dll 从我的项目的 Debug 文件夹复制到另一个目标方向。

我想使用 xcopy 将文件复制到目标目录中的子文件夹中。唯一的问题是,我要复制到的子文件夹的名称将始终变化,因为每当我为分发给客户进行新构建时,都会在目标目录中创建子文件夹。

例如,现在目标目录包含以下文件夹,这些文件夹以所有先前分发的 .dll 的版本命名:

MySuperSoftware21.4.8055.22312 
MySuperSotware21.4.1110.34622 
.
.
.
etc.

今天目标目录将有一个新的子目录,如下所示:

MySuperSoftware22.1.8119.20613
MySuperSoftware21.4.8055.22312
MySuperSotware21.4.1110.34621 
.
.
.
etc.

并且我希望 xcopy 仅将最新的 .dll 复制到新创建的子目录中。

我可以使用最新的子目录日期或子目录内部版本号。我查看了 xcopy 开关列表,但找不到适用于这种情况的开关。这可能吗?

答案1

@echo off 

cd/d "%~dp0" & setlocal

for /f delims^=* %%i in ('dir/o-d/ad/b^|findstr/e [0-9]
')do xcopy /duy ".\*.dll" "%%~fi" & endlocal & goto:eof

我了解你正在寻找这样的执行方式:

1.标识最后创建的子目录

for /f delims^=* %%i in ('dir/o-d/ad/b^|findstr/e [0-9]')do echo\ Last dir is: "%%~fi"

2.仅复制最新的 .dll 文件,如果它们已经存在于新的目标目录中:

xcopy /duy ".\*.dll" "%%~fi"

@echo off 

cd/d "D:\The\Full\Path\To\Dlls\Folder" & setlocal

for /f delims^=* %%i in ('dir/o-d/ad/b^|findstr/e [0-9]
')do xcopy /duy ".\*.dll" "%%~fi" & endlocal & goto :eof

XCOPY
Copy files and/or directory trees to another folder. XCOPY is similar to 
the COPY command except that it has additional switches to specify both
the source and destination in detail.

While still included in Windows 10, XCOPY has been deprecated in favor of 
Robocopy, a more powerful copy tool, which is now built into Windows 
Server and Desktop operating systems [x]

Syntax
      XCOPY source [destination] [options]

/D:mm-dd-yyyy
   Copy files changed on or after the specified date.
   If no date is given, copy only files whose
   source date/time is newer than the destination time.

/Y    Suppress prompt to confirm overwriting a file.

/L    List only - Display files that would be copied.

/U    Copy only files that already exist in destination.

  • 观察2.为了测试执行,检查命令并且不允许任何复制,您可以尝试使用xcopy标志/dul
@echo off 

cd/d "D:\The\Full\Path\To\Dlls\Folder" & setlocal

for /f delims^=* %%i in ('dir/o-d/ad/b^|findstr/e [0-9]
')do xcopy /dul ".\*.dll" "%%~fi" & endlocal & goto :eof

其他资源:

相关内容