批处理文件:如果我知道文件夹名称以啥开头,但不知道全名,如何进入文件夹

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* 是桌面还是文档?

以上是关于批处理文件:如果我知道文件夹名称以啥开头,但不知道全名,如何进入文件夹的主要内容,如果未能解决你的问题,请参考以下文章

在sqlserver2016中局部变量名以啥开头而全局变量

正则表达式中以啥开头啥结尾怎么写

oracle。判断开头字段以啥开头

如何知道焦点窗口的名称/ID

为啥我们需要知道在 mapreduce 中正在处理的文件的名称?

js判断字符串以啥开头