批处理文件:从字符串中获取值

时间:2009-03-04 07:36:46

标签: batch-file

我收到一个包含以下内容的文件:

\direcotry1\directory2\directory3\file1
\direcotry1\file2
\direcotry1\directory2\directory3\directory4\file3
\direcotry1\file4
\direcotry1\directory2\file5
file6

文件中的文件数量和目录数量都是可变的。

我需要的是文件名(file1,file2,file3,file4,file5,...)。这是因为我需要为每个文件执行一些操作。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

使用它。只需替换循环内的回声即可完成对file1,file2等所需的操作。

@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%i in (infile.txt) do (
    set x=%%~ni
    echo !x!
)
endlocal

答案 1 :(得分:0)

你在寻找这个命令吗?

dir /r /b /A:-D

修改

对不起,我没理解。 您可以使用该dir命令直接以您询问的方式收集文件名。

您不能在批处理文件中使用太多字符串处理功能,但您可能需要:

@echo off
for /f %%I in (inputfile.txt) DO ECHO %%~nxI

这将打印没有来自inputfile.txt的路径的文件名。