首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据修改日期批量移动目录

根据修改日期批量移动目录
EN

Stack Overflow用户
提问于 2014-06-14 00:10:34
回答 2查看 25关注 0票数 0

我有一个目录,其子目录如下:

c:\dir1\sub (1)

c:\dir1\sub (2)

c:\dir1\sub (n)

如果缺少特定文件,我希望将最新的子目录(sub (n))移动到另一个路径中。

这是我的脚本,但我无法检索到最新的子目录的名称:

代码语言:javascript
复制
set REPdst=C:\dir2
set REPsrc=C:\dir1

IF not exist %REPdst%\index.htm (FOR /f %%f in ('dir /tw %REPsrc% ') DO (
    echo %%f
))

我不知道如何才能只检索每个子目录的修改日期,以便比较它们或获取子目录的索引(括号之间的数字)

谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2014-06-14 00:40:35

我认为这就回答了你的问题

http://ss64.com/nt/xcopy.html

代码语言:javascript
复制
xcopy "c:\dir1\sub (n)" "c:\dir1\sub (1)" /D /E -Y /C /Z  

  • /D仅在其版本早于源的
  • /E将其替换为文件夹和子文件夹时才会将其替换
  • -Y将使其不提示是否覆盖

这些对你来说不是必需的,但在那里很好。

即使出现错误,

  • /C也会使其继续运行
  • /Z将使其在可重新启动模式下复制文件。如果拷贝中途中断,它将在可能的情况下重新启动
票数 0
EN

Stack Overflow用户

发布于 2014-06-14 20:29:11

dir有一些有用的参数:/ad将只列出目录(属性Directroy),/od将按日期排序(订单日期)。

组合它:dir /b /ad /od %REPsrc%将列出所有子目录(oldes优先)

要获取最后一个(当前修改次数最多的):

代码语言:javascript
复制
for /f %%i in ('dir /b /ad /od %REPsrc%\sub*') do set lastdir=%%i

(注意:这不一定是数字最高的那个)

要获得编号最高的数字,请按字母顺序排序(dir /b /ad /on %REPsrc%\sub*)

注意:如果n大于9,则此操作将失败。

(注意:这不一定是最后一次修改)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24209688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档