我是脚本新手,我在互联网上有这个脚本,有谁能请一行一行地解释下面的代码是如何工作的?
@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%\"
非常感谢您的支持。
答案 0 :(得分:1)
好吧,不要太复杂:
@echo off
:阻止用户查看批处理文件中输入的命令(只能看到输出)
set "var=value"
:创建一个名为var
的变量,其值为value
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"
强>:
将遍历当前目录中的每个文件夹,并将varaible file
的值设置为其名称。它将按字母顺序执行此操作,因此此顺序中的最后一个目录将是file
的值
popd
:将当前目录设置为上一个pushd
命令之前的目录
xcopy /d /i "%source%\%file%" "%dest%\"
:复制已设置为file
值的目录中变量source
的值,并将其复制到变量dest
就是这样。如果您想更好地理解如何使用这些命令,请查找教程。