【问题标题】:How to Copy only the second latest created file from folder to another folder using bat file如何使用 bat 文件仅将第二个最新创建的文件从文件夹复制到另一个文件夹
【发布时间】:2018-10-14 18:37:03
【问题描述】:

假设在文件夹 A 中,我在同一天创建了两个文件,如下所示 File1.txt 创建于 2018 年 10 月 14 日上午 10:00 File2.txt 创建于 2018 年 10 月 14 日上午 10:10,

现在我只想使用批处理文件将 File2.txt 复制到文件夹 B。 寻找执行上述过程的 .bat 文件命令。

非常感谢您的回答。

【问题讨论】:

标签: batch-file


【解决方案1】:

使用DIR 列出文件,按创建日期降序排列。使用FOR /F 处理结果,跳过第一行。复制第一个迭代文件,然后用GOTOEXIT /B 跳出循环。

@echo off
pushd "c:\sourcePath"
for /f "skip=1 delims= eol=:" %%F in ('dir /b /o-d /tc') do (
  copy "%%F" "c:\destinationPath"
  popd
  exit /b
)

如果您想按上次修改日期而不是创建日期排序,请使用/TW 而不是/TC

请注意,"EOL=: 用于防止默认 EOL 值 ; 跳过以 ; 开头的文件名。文件名不能包含:,但可以包含;,尽管这种可能性极小。

【讨论】:

  • 你错过了SKIP=1吗?
  • 哎呀!你瘦了?!谢谢,都修好了。
【解决方案2】:

您可以使用“复制”命令将 File2.txt 复制到文件夹 B,这里是:

copy "Path\File2.txt" "Path\FolderB"

这样你将把“File2.txt”复制到“文件夹B”

【讨论】:

  • 我很确定用户不会知道文件名。他们需要一种动态的方式来获取文件夹中第二个最新的文件。或者在这种情况下,如果有两个文件,则为最旧的文件。
猜你喜欢
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 2018-10-12
  • 2011-08-22
相关资源
最近更新 更多