Batch file 将多个文件夹拖放到要复制的bat文件

Batch file 将多个文件夹拖放到要复制的bat文件,batch-file,directory,copy,Batch File,Directory,Copy,我创建了BAT文件,将包含音乐的文件夹复制到手机上。这适用于将一个文件夹拖放到其中 xcopy /s /i "%~1" "e:\Music\Subfolder\" 如何增强到多个文件夹(拖放多个选定文件夹) 你能帮我做一些FOR/LOOP循环吗?这应该可以: @ECHO OFF :TOP IF (%1) == () GOTO END xcopy /s /i "%1" "e:\Music\Subfolder\" SHIFT GOTO TOP :END ECHO Done! PAUSE 您可以使

我创建了BAT文件,将包含音乐的文件夹复制到手机上。这适用于将一个文件夹拖放到其中

xcopy /s /i "%~1" "e:\Music\Subfolder\"
如何增强到多个文件夹(拖放多个选定文件夹)

你能帮我做一些FOR/LOOP循环吗?

这应该可以:

@ECHO OFF
:TOP
IF (%1) == () GOTO END
xcopy /s /i "%1" "e:\Music\Subfolder\"
SHIFT
GOTO TOP
:END
ECHO Done!
PAUSE

您可以使用
%1
变量访问第一个拖动的文件/文件夹。第二个变量存储在
%2
等中。调用
SHIFT
可以“删除”
%1
,并将所有变量从
%i
移动到
%i-1
。您将继续循环,直到
%1
为空,这意味着您已在所有文件夹中移动。

您应该将
%1”
更改为
“%~1”
,因为当路径包含spacesPerfect:)时,路径将用引号括起来。现在唯一的问题是“子文件夹”名称。我想用复制文件夹的名称替换它。要在Music.Yoiu中获得相同的目录结构,应该可以通过调整xcopy行()来实现。