Batch file 在命令提示符下搜索并打开文件

Batch file 在命令提示符下搜索并打开文件,batch-file,cmd,Batch File,Cmd,在一些包含许多子文件夹和文件的基本目录中,我必须搜索PDF文件,如果找到所需的文件,我必须使用命令提示符打开它。这是我一直在尝试做的,我用来提取文件地址的代码如下,代码不完整,请帮我完成它。(我将其制作为.bat文件并运行它。) 如何在文本文件中保存的地址打开文件 @echo off setlocal EnableDelayedExpansion set /p bn=Enter the Bridge NO: Z: cd "Z:\OHE_Design\DFCC\EMP-4 OHE\Submi

在一些包含许多子文件夹和文件的基本目录中,我必须搜索PDF文件,如果找到所需的文件,我必须使用命令提示符打开它。这是我一直在尝试做的,我用来提取文件地址的代码如下,代码不完整,请帮我完成它。(我将其制作为.bat文件并运行它。) 如何在文本文件中保存的地址打开文件

@echo off 
setlocal EnableDelayedExpansion 
set /p bn=Enter the Bridge NO:
Z: 
cd "Z:\OHE_Design\DFCC\EMP-4 OHE\Submissions\References\Received\CTP-1 & 2\05-Bridge Mast files\CTP 1 & 2 DETAILS\OHE approval letters" 
dir /s *%bn%.pdf > "C:\Users\suneelp\Desktop\temp.txt" 
for /f "usebackq delims=" %%a in (`more +3 C:\Users\suneelp\Desktop\temp.txt`) DO (     
    echo %%a>C:\Users\suneelp\Desktop\temp.txt   
    goto :leave
) 
:leave 
pause

只需检索整个路径和文件名,“启动”它-Windows将使用此扩展的默认处理程序:

@echo off
set spath="Z:\OHE_Design\DFCC\EMP-4 OHE\Submissions\References\Received\CTP-1 & 2\05-Bridge Mast files\CTP 1 & 2 DETAILS\OHE approval letters"
set /p bn=Enter the Bridge NO:
for /f "delims=" %%f in ('dir /s /b %spath%\*%bn%.pdf') do @cmd /c "%%f"

因此,对搜索的路径/卷不需要
cd
,也不需要
delayedexpansion
pause
。只有当文档关闭时,命令才会结束。

那么有什么问题吗?如何将记事本中的地址转换为变量的字符串值?此程序不搜索文件,它直接采用我们提到的路径。它确实如此。通过给定路径中及其下方的
dir/s
搜索文件。注意通配符。