我试图制作批处理文件,从一个位置到另一个位置进行xcopy,大约50个文件夹。
让我们说文件夹的名称如下: Folder1:1abc Folder2:2qer Folder3:3asd Folder4:4jfd ... 等等。我知道文件夹名称以数字开头,所以我会做类似
的事情:COPYDIAG
//The counter part in the XCOPY is what I don't get
XCOPY %counter%"\Documents\*.* OtherLocation\
SET /A countDiag1 += 1
IF %countDiag1%==%endDiag1% (GOTO :EOF) ELSE (GOTO :COPYDIAG)
那么,如果我知道文件夹名称以增量编号开头,我将如何获取整个文件夹名称的字符串?
答案 0 :(得分:3)
您可以使用带通配符的CD来选择部分目录名称。 CD 1*
将移至以1
开头的第一个文件夹。然后做你的事情,并退回一个文件夹级别。请记住,您现在位于不同的文件夹中,因此您可能需要在XCopy
语句中对此进行补偿。
@Echo Off
Set Counter=0
Set EndCounter=3
:NextFolder
Set /A Counter=%Counter%+1
CD %Counter%*
XCopy Documents\*.* ..\OtherLocation\
CD ..
If Not %Counter%==%EndCounter% Goto :NextFolder