Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用批处理文件获取最近的文件?_Batch File_Forfiles - Fatal编程技术网

Batch file 如何使用批处理文件获取最近的文件?

Batch file 如何使用批处理文件获取最近的文件?,batch-file,forfiles,Batch File,Forfiles,我有一个附加日期和时间的zip文件列表,如yyyymmdd\u hhmmss\u Demos.zip。现在,如何在源目录中获取最近添加的zip文件。我需要使用copy命令在目标中复制此文件 我找到了一些有关文件的信息,但不知道如何在几秒钟内完成。您可以使用 pushd D:\a for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a copy "%newest%" D:\b popd 为了简单起见,我只是将一组文本文件放在文件夹a中,

我有一个附加日期和时间的zip文件列表,如
yyyymmdd\u hhmmss\u Demos.zip
。现在,如何在源目录中获取最近添加的zip文件。我需要使用
copy
命令在目标中复制此文件

我找到了一些有关文件的信息,但不知道如何在几秒钟内完成。

您可以使用

pushd D:\a
for /f "tokens=*" %%a in ('dir /b /od') do set newest=%%a
copy "%newest%" D:\b
popd

为了简单起见,我只是将一组文本文件放在文件夹a中,并将目标设置为文件夹b,因此在('dir D:\a/b/od')中为/f“tokens=*”%%a编写了此命令。do set latest=%%a副本“%latest%”D:\b但这对我不起作用。。是什么wrong@azzaxp试试我最新的答案。由于某种原因,目录似乎出现了问题,我不确定原因。
dir/b/od
也会列出子目录(如果有)。我认为您应该使用
/a-d
开关排除它们(当然,除非OP也想复制子目录)@wmz不,它没有。
/s
开关列出子文件夹,请尝试并查看:)抱歉,措辞错误。我的意思是,它将包括任何子目录的名称,而不是它们的内容(正如您正确声明的那样,您需要/s)。因此,它会找到最新的文件或目录可能的副本。不清楚您是想要最近修改的文件、最近添加到目录中的文件,还是yyyymmdd\u hhmmss最高的文件。粘贴一些代码而不解释它的用途是什么。你能添加一个描述吗?
pushd \\ryap\CONTROL_DATOS
for /f "tokens=*" %%a in ('dir \\ryap\CONTROL_DATOS /b /od') do set newest=%%a
Xcopy/Y "\\ryap\CONTROL_DATOS\%newest%" "D:\TXT_SOURCES\"
popd
set Path="D:\hello\abc\old"
for /f "tokens=*" %%a in ('dir /A:-D /B /O:-D /S %Path%') do set NEW=%%a&& goto:n 
:n
echo %NEW%