gpt4 book ai didi

windows - 从未知目录中的 txt 复制最新的文件集

转载 作者:可可西里 更新时间:2023-11-01 09:37:06 27 4
gpt4 key购买 nike

我有一个 notepad.txt 文档,其中列出了需要复制到包含批处理文件的文件夹中的文件。这些文件位于几个子目录中,使用我的代码,它会复制所有具有指定名称的文件。

for /f "delims=" %%i in (testlist.txt) do echo |robocopy "%dir1%." "C:\temporary" "%%i.*" /s /ndl /njs /njh /nc /ts /ns

我如何正确设置它以便搜索最近的文件,并且只复制文件而不复制文件夹和子文件夹?

最佳答案

How to get file's last modified date on Windows command line?

for %a in (MyFile.txt) do set FileDate=%~ta

Compare 2 dates in a Windows batch file

set "sdate1=%olddate:~-4%%olddate:~3,2%%olddate:~0,2%"
set "sdate2=%newdate:~-4%%newdate:~3,2%%newdate:~0,2%"
if %sdate1% GTR %sdate2% (goto there) else echo here

鉴于您已经可以读取文件并进行复制,下面是我将编写的逻辑伪代码,用于将它们放在一起:

set oldTimeStamp = "1901-01-01" //so first comparison wins and doesn't throw a null error
for each filename in list.txt
set newTimestamp = getTimeStamp(filename)
if newTimeStamp > oldTimeStamp then set fileToCopy = filename
set oldTimeStamp = newTimeStamp
next
doCopy(fileToCopy)

基本上遍历每个文件名并获取时间戳。存储上一个文件的时间戳,对比新旧时间戳。如果当前文件较新,请将文件名保存到您将用于复制的变量中。在循环结束时,fileToCopy 应包含具有最近修改时间的文件的名称。

关于windows - 从未知目录中的 txt 复制最新的文件集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34530397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com