Batch file 批处理文件以复制最近创建的文件

Batch file 批处理文件以复制最近创建的文件,batch-file,Batch File,我不熟悉脚本,我在互联网上也有这个脚本,有人能逐行解释一下下面的代码是如何工作的吗 @echo off set "source=C:\temp" set "dest=c:\paste" pushd "%source%" ||( echo.Source does not exist&pause&goto EOF) for /f "tokens=*" %%f in ( 'dir /A-D /OD /B') Do set "file=%%f" popd xcopy

我不熟悉脚本,我在互联网上也有这个脚本,有人能逐行解释一下下面的代码是如何工作的吗

@echo off

set "source=C:\temp"
set "dest=c:\paste"

pushd "%source%" ||(
   echo.Source does not exist&pause&goto EOF)

for /f "tokens=*" %%f in (
   'dir /A-D /OD /B') Do set "file=%%f"

popd

xcopy /d /i "%source%\%file%" "%dest%\"

非常感谢您的支持。

好的,这并不复杂:

@echo off
:防止用户看到从批处理文件输入的命令(只能看到输出)

设置“var=value”
:创建一个名为
var
的变量,其值为
value

pushd“%source%”| |(echo.source不存在&暂停&转到EOF)

将当前目录更改为varaible
source
值的目录,如果有任何输出(即,如果有错误),它将暂停并退出,并显示给定的erroro消息

对于/f“令牌=*”%%f in('dir/A-D/OD/B'),请设置“文件=%%f”

将遍历当前目录中的每个文件夹,并将varaible
file
的值设置为其名称。它将按字母顺序执行此操作,因此此顺序最后一个目录将是
文件的值

popd
:将当前目录设置为上一个
pushd
命令之前的目录

xcopy/d/i“%source%\%file%”“%dest%\”
:复制目录中变量
file
的值,该值已设置为
source
,并将其复制到变量
dest
的路径中


就这样。如果您想更好地了解如何使用这些命令,请参阅教程。

好的,这并不复杂:

@echo off
:防止用户看到从批处理文件输入的命令(只能看到输出)

设置“var=value”
:创建一个名为
var
的变量,其值为
value

pushd“%source%”| |(echo.source不存在&暂停&转到EOF)

将当前目录更改为varaible
source
值的目录,如果有任何输出(即,如果有错误),它将暂停并退出,并显示给定的erroro消息

对于/f“令牌=*”%%f in('dir/A-D/OD/B'),请设置“文件=%%f”

将遍历当前目录中的每个文件夹,并将varaible
file
的值设置为其名称。它将按字母顺序执行此操作,因此此顺序最后一个目录将是
文件的值

popd
:将当前目录设置为上一个
pushd
命令之前的目录

xcopy/d/i“%source%\%file%”“%dest%\”
:复制目录中变量
file
的值,该值已设置为
source
,并将其复制到变量
dest
的路径中


就这样。如果您想更好地了解如何使用这些命令,请参阅教程。

@AlvinMovida如果您找到了,请更正我的答案useful@Monacraft你的文本中有一些错误。它不会遍历目录中的每个文件夹,它会遍历不是文件夹的所有内容。它还将按照日期顺序(而不是字母顺序)执行此操作。OP:需要注意的一点是,xcopy中的
/d
开关仅在
源时间比目标时间新时才会复制文件。对于更健壮的批处理文件,如果您总是希望复制此文件,请删除
/d
开关,并且FWIW也不需要
/i
开关。有关这些开关的帮助,请参见cmd提示符下的
XCOPY/?
。谢谢,实际上从未使用过
XCOPY
,因为我的工作是围绕基本批处理作业和ftp服务器设置展开的,所以我只使用
copy
@AlvinMovida。如果您找到了,请更正我的答案useful@Monacraft你的文本中有一些错误。它不会遍历目录中的每个文件夹,它会遍历不是文件夹的所有内容。它还将按照日期顺序(而不是字母顺序)执行此操作。OP:需要注意的一点是,xcopy中的
/d
开关仅在
源时间比目标时间新时才会复制文件。对于更健壮的批处理文件,如果您总是希望复制此文件,请删除
/d
开关,并且FWIW也不需要
/i
开关。有关这些开关的帮助,请参见cmd提示符下的
XCOPY/?
。谢谢,实际上从未使用过
XCOPY
,因为我的工作围绕基本批处理作业和ftp服务器设置展开,所以我只使用
copy