批处理文件:如果我知道文件夹名称以啥开头,但不知道全名,如何进入文件夹
Posted
技术标签:
【中文标题】批处理文件:如果我知道文件夹名称以啥开头,但不知道全名,如何进入文件夹【英文标题】:Batch file: If I know what folder name starts with, but not the whole name, how to get into the folder批处理文件:如果我知道文件夹名称以什么开头,但不知道全名,如何进入文件夹 【发布时间】:2011-10-19 14:51:52 【问题描述】:我正在尝试制作一个批处理文件,以便将大约 50 个文件夹从一个位置 xcopy 到另一个位置。
假设文件夹的名称如下: 文件夹1:1abc 文件夹2:2qer 文件夹 3:3asd 文件夹4: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)
那么,如果我知道文件夹名称以递增数字开头,我将如何获取整个文件夹名称的字符串?
【问题讨论】:
【参考方案1】:您可以使用带有通配符的 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
【讨论】:
作为一个小提示,当我试图找到一个复杂的路径时,我经常使用通配符。而不是CD \Users\Username\Documents\Visual Studio 2010\Projects\Company.Product.Feature\bin\Release
,我使用CD \Users\U*\Doc*\*2010\Pro*\*Feature\bin\Rel*
。显然,您必须非常了解您的文件夹,以确保没有混淆。 D*
是桌面还是文档?以上是关于批处理文件:如果我知道文件夹名称以啥开头,但不知道全名,如何进入文件夹的主要内容,如果未能解决你的问题,请参考以下文章