Batch file 的意思。在批处理文件中复制时的(期间)

Batch file 的意思。在批处理文件中复制时的(期间),batch-file,Batch File,出于好奇/为了学习的目的,我正在查看一些批处理文件,我看到了一件我还没有完全理解的事情。我相信这很简单,但出于显而易见的原因,我不想简单地运行这个文件 类似于以下行: copy /Y "\git\MyProject\bin\Release\MyLib-1.dll" . copy /Y "\git\MyProject\bin\Release\MyLib-2.dll" . copy /Y "\git\MyProject\bin\Release\MyLib-3.dll" . 我知道/Y通过在线阅

出于好奇/为了学习的目的,我正在查看一些批处理文件,我看到了一件我还没有完全理解的事情。我相信这很简单,但出于显而易见的原因,我不想简单地运行这个文件

类似于以下行:

copy /Y "\git\MyProject\bin\Release\MyLib-1.dll" .
copy /Y "\git\MyProject\bin\Release\MyLib-2.dll" .
copy /Y "\git\MyProject\bin\Release\MyLib-3.dll" .  

我知道/Y通过在线阅读做了什么,但是
在做什么?我的第一个假设是它意味着将文件复制到当前目录,但我的印象是%cd%变量就是用于此目的的,所以我不太确定。

它意味着当前目录,因此,在您的
copy
-命令中,这意味着您正在将文件复制到当前目录中

期间指的是调用批处理文件的当前目录。因此,在本例中,3个DLL库文件将复制到称为此批处理脚本的当前目录


如果它们已经存在于当前目录中,/Y参数将强制覆盖它们。

那么,它们将被复制到脚本所在的位置,或者%cd%设置为的位置?(例如,如果我将
cd
显式设置为脚本本身的其他位置)如果您的脚本位于C:\BatchScripts中,并且您从C:\SomeOtherPath调用它,则文件将复制到C:\SomeOtherPath。当然,除非您在批处理文件中更改了目录,或者在调用脚本之前设置了其初始工作目录。%cd%保存当前目录作为引用,但。同样如此。这是当前目录最直接、最简洁的语法。为了进一步说明,如果在执行此复制操作之前从批处理文件中更改目录,它会将文件复制到您更改的目录中。