在命令提示符中搜索和打开文件

时间:2017-10-16 06:52:46

标签: 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\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

1 个答案:

答案 0 :(得分:0)

只需检索整个路径和文件名,然后“启动”它 - 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"

因此,对于搜索到的路径/卷,cddelayedexpansion没有pause。该命令仅在文档关闭时结束。