2013-10-03 70 views
1

我是新手脚本,我已经在脚本通过互联网,任何人都可以请解释如何以下代码工作,逐行?批处理文件复制最新的文件创建

@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%\" 

非常感谢您的支持。

回答

1

好吧,它不是复杂的:

@echo off:从看到的命令拜因从批处理文件(仅输出可以看出)

set "var=value" inputed防止用户:创建varaible称为varvalue

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

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

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

将遍历当前目录中的每个文件夹,并将可变值file的值设置为其名称。它会做到这一点的字母顺序,因此最后的顺序目录将是file

popd值:将当前目录下什么是最后pushd命令

xcopy /d /i "%source%\%file%" "%dest%\"之前:拷贝无论是可变file的其中已被设置为的source的值direcotory的值,并将其复制到可变dest

的路径那就是它。如果您想更好地了解如何使用这些命令,请查看教程。

+0

非常感谢你。这是一个很好的帮助! –

+0

@AlvinMovida如果您发现它有用,请让我的答案正确 – Monacraft

+2

@Monacraft您的文本中存在一些错误。它不会去通过目录中的每个文件夹,而是通过每个不是**文件夹的东西。另外它会按照日期顺序(不按字母顺序)执行 – joojaa

相关问题