Scripting 如何从windows vista中的命令行将最新文件复制到其他目录中

Scripting 如何从windows vista中的命令行将最新文件复制到其他目录中,scripting,windows-vista,Scripting,Windows Vista,我在Windows Vista中有一个包含许多文件的目录。我希望在批处理脚本中能够选择最新的文件并将其复制到其他位置。有什么想法吗?您可以使用for命令调用按日期排序的目录列表,并使用它设置环境变量,如果您为每个文件设置了相同的变量,那么它将最终设置为最新的文件 将其放入批处理文件: for /F "delims=" %%I in ('dir /b /a-d /od') do set LATEST=%%I echo "%LATEST%" 然后,可以使用“移动”命令将该文件移动到任何需要的位置

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

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

将其放入批处理文件:

for /F "delims=" %%I in ('dir /b /a-d /od') do set LATEST=%%I
echo "%LATEST%"
然后,可以使用“移动”命令将该文件移动到任何需要的位置

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%%
Hmm,我以前用过它,它成功了。昨天我在另一个脚本上尝试了它,但它似乎无法处理不同文件夹中的文件:(