【发布时间】:2016-02-08 19:47:10
【问题描述】:
我的问题是我想用通配符搜索文件夹,然后在另一个批处理文件中打印文件名。例如:c:\docs\hello.txt(我想用 *.txt 搜索条件浏览这个文件夹,然后通过 set filename=
将此“hello.txt”传递给我的 env.bat到目前为止,我可以得到如下文件名:
echo off
cd %1
if exist filelist.txt del filelist.txt
for /r %%a in (*.txt) do echo %%a > filelist.txt
【问题讨论】:
-
这似乎有效,有什么问题?
-
为什么要将输出重定向到文本文件。只需使用 CALL 命令执行
env.bat文件并将FOR变量%%a作为命令行参数传递给批处理文件。 -
我想用filelist.txt文件中的名字作为文件名变量。这个文件也给了我文件的完整路径,我只想要 filename.txt
-
你能举例说明我如何使用 for %%a 作为参数从通配符搜索中获取文件名。谢谢
-
输入
for /?类似%%~nxA的名称和扩展名。
标签: loops batch-file wildcard