如何搜索匹配文件并分配给批处理文件中的变量?

时间:2019-02-11 21:07:41

标签: batch-file

需要将文件名分配给与搜索模式匹配的变量

下面的代码将在目录中列出文件(良好)。救命。如果文件名包含子字符串(或以“ MW_MMP_MEMBER ..开头”),则它将文件名分配给变量。

FOR %%I in (%MW_MMP_data%*.*) DO echo %%I 

SET MEMBERFILE= ??
ECHO MEMBERFILE

我希望ECHO语句显示匹配的文件

1 个答案:

答案 0 :(得分:1)

您可以尝试:

@For /F Delims^=^ EOL^= %%A In ('Dir/B/A-D "MW_MMP_MEMBER*" 2^>Nul')Do @Set "MemberFile=%%A"&Call Echo(%%MemberFile%%&Pause

或以较短的格式:

@Echo Off
SetLocal DisableDelayedExpansion
For /F Delims^=^ EOL^= %%A In (
    'Dir /B /A-D "MW_MMP_MEMBER*" 2^>Nul'
) Do (
    Set "MemberFile=%%A"
    SetLocal EnableDelayedExpansion
    Echo(!MemberFile!
    EndLocal
)
Pause