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

非常感谢您的支持。

4

1 回答 1

1

好的,它并不复杂:

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

set "var=value":创建一个名为var的变量,其值为value

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

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

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

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

popdpushd:将当前目录设置为上一条命令之前的目录

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

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

于 2013-10-03T07:07:13.243 回答