我运行带有参数(文件名、文件夹等)的批处理文件。
文件名是唯一的但不完整,因此我使用
dir /b %SearchFolder% | find %FileName%
查找其全名,但我无法将其作为另一个命令的参数。
我尝试过:
dir /b %SearchFolder% | find %FileName% > aa
echo %aa%
我也尝试过:
aa=dir /b %SearchFolder% | find %FileName%
试试这个:
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
或任何其他命令一起使用变量之前定义并声明变量,将会有所帮助。