使用 dir 搜索全名并在另一个命令中使用结果

问题描述 投票:0回答:1

我运行带有参数(文件名、文件夹等)的批处理文件。

文件名是唯一的但不完整,因此我使用

dir /b %SearchFolder% | find %FileName%
查找其全名,但我无法将其作为另一个命令的参数。

我尝试过:

dir /b %SearchFolder% | find %FileName% > aa
echo %aa%

我也尝试过:

aa=dir /b %SearchFolder% | find %FileName% 
windows for-loop batch-file
1个回答
0
投票

试试这个:

set "FileName=full/partial file name"
set "SearchFolder=D:\some_path" 

dir "%SearchFolder%" /a:-d /b/s | find "%FileName%" >aa.txt
set /p aa=<aa.txt
echo %aa%
del aa.txt

请注意:

  • 使用
    dir /s
    在搜索过程中包含所有子文件夹。
  • 使用
    dir /a:-d
    仅搜索文件并排除文件夹。
  • 建议搜索路径用双引号括起来,至于
    find
    命令中的搜索字符串是必须的。
  • 当您使用
    >
    <
    将命令输出重定向到文件时,最好添加适当的文件扩展名(aa.txt、aa.csv、aa.bat...等)。
  • 如果您在与
    echo
    或任何其他命令一起使用变量之前定义并声明变量,将会有所帮助。
© www.soinside.com 2019 - 2024. All rights reserved.