【问题标题】:How do I copy the newest file in a directory somewhere else from the command line in windows vista如何从 windows vista 的命令行复制目录中的最新文件
【发布时间】:2010-03-18 11:01:30
【问题描述】:

我在 Windows Vista 中有一个包含许多文件的目录。我希望在批处理脚本中能够选择最新的文件并将其复制到另一个位置。有什么想法我该怎么做?

【问题讨论】:

    标签: scripting windows-vista


    【解决方案1】:

    您可以使用for命令调用一个按日期排序的目录列表,并使用它来设置一个环境变量,如果您为每个文件设置相同的变量,那么它将最终设置为最新的文件.

    把它放到一个批处理文件中:

    for /F "delims=" %%I in ('dir /b /a-d /od') do set LATEST=%%I
    echo "%LATEST%"
    

    然后您可以使用 move 命令将该文件移动到您想要的任何位置。

    move "%LATEST%" wherever
    

    2011 年 2 月 10 日编辑:已修复以处理包含空格的文件名。解决方法是使用“delims=”来禁用空间上的标记。感谢 Dave Potts 的修复。

    【讨论】:

    • 这个几乎解决了。问题在于其中包含空格的长文件名(我与会计师合作,抱歉)。正在努力解决这个问题。
    • 解决方法如下:for /F "delims=" %%I in ('dir /b /a-d /od') do set LATEST=%%I echo %LATEST%
    • 嗯,我以前用过这个,它工作。昨天我在另一个脚本上试过了,但它似乎不适用于不同文件夹中的文件:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    相关资源
    最近更新 更多