Batch file xcopy-将文件从包含目录复制到文件夹上的目录

Batch file xcopy-将文件从包含目录复制到文件夹上的目录,batch-file,xcopy,Batch File,Xcopy,我在一个目录中有一个.bat文件,其中包含许多resource.resx文件 将文件夹拖到.bat文件时,我希望能够将该目录中以所需文本开头的文件(例如Web.de.resx、Web.fr.resx等)复制到所需文件夹中的相应目录 我尝试了以下操作,但出现错误:找不到文件-Web* 您需要指定.bat在其中查找Web*文件的目录 您可以通过使用神奇的%%dp0变量来实现这一点,~d是驱动器,~p是不带驱动器的路径,因此,~dp将是驱动器和路径 使用xcopy/i%~dp0\Web*%~1\src

我在一个目录中有一个.bat文件,其中包含许多resource.resx文件

将文件夹拖到.bat文件时,我希望能够将该目录中以所需文本开头的文件(例如Web.de.resx、Web.fr.resx等)复制到所需文件夹中的相应目录

我尝试了以下操作,但出现错误:找不到文件-Web*


您需要指定.bat在其中查找Web*文件的目录

您可以通过使用神奇的%%dp0变量来实现这一点,~d是驱动器,~p是不带驱动器的路径,因此,~dp将是驱动器和路径


使用xcopy/i%~dp0\Web*%~1\src\Resources\Web,它应该工作得更好。

您需要了解将文件夹拖放到批处理文件时发生的情况。将文件或文件夹拖到批处理文件上时,工作目录立即成为该文件或文件夹的路径。因此,在批处理文件的情况下,您需要指定输入文件存在的路径。@Squashman-需要使用%dp0变量-请参阅下面Cedric的答案。我读了他的答案,但他没有解释原因或发生了什么。我通常在大多数拖放批处理文件的开始部分执行PUSHD%~dp0。当然你得到了答案,但你不知道为什么。所以我提供了为什么!好的,谢谢你的解释。
xcopy /i "Web*" "%~1\src\Resources\web"