如何从目录中的匹配字符开始获取文件的完整文件名?

时间:2015-10-13 19:56:48

标签: batch-file

我试图在以SVR_OUTPUT_开头的目录中获取文件的完整文件名,只是为了使用批处理脚本验证文件是否存在于目录中。

我成功地在目录中获取文件名以使用以下方法比较名称:

@echo off
setlocal disableDelayedExpansion
:: Load the file path "array"
for /f "tokens=1* delims=:" %%A in ('dir /s /b^|findstr /n "^"') do (
  set "file.%%A=%%B"
  set "file.count=%%A"
)

:: Access the values
setlocal enableDelayedExpansion
for /l %%N in (1 1 %file.count%) do echo !file.%%N!

但我需要比较并检查文件名是否以SVR_OUTPUT_开头。我是批处理编程的新手。

任何人都能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

正如wOxxOm已经写好的,列出所有以SVR_OUTPUT_开头的子目录中的所有文件所需的全部内容是:

dir /S /B SVR_OUTPUT_*

删除/S以仅列出当前目录中不包含子目录的文件或者找不到与该模式匹配的文件的消息。

以下代码可用于检查当前目录中是否至少有一个以SVR_OUTPUT_开头的文件:

@echo off
if exist SVR_OUTPUT_* (
    echo There are follwing files starting with SVR_OUTPUT_ in %CD%
    echo.
    dir /B /ON SVR_OUTPUT_*
) else (
    echo There is no file starting with SVR_OUTPUT_ in %CD%
)
pause