如何检查文件扩展名,并在Windows批处理文件中使用默认程序打开

时间:2016-03-04 19:55:08

标签: windows batch-file cmd

我尝试使用以下代码但它解析每个if循环而不是根据其文件扩展名。我觉得我的if语句不对。有人可以简化这个过程吗?我想要的是文件应根据其默认文件扩展程序从文件夹中打开。我还需要在监视器上投影。因此,还需要集成我已添加的全屏模式代码。

:loop         
cd c:/Program Files (x86)/Adobe/Acrobat Reader DC/Reader
set dir1=folder location
for %%X IN ("%dir1%\*.*") DO ( 
taskkill /f /im "AcroRd32.exe"
taskkill /f /im "Powerpnt.exe"
taskkill /f /im "Winword.exe"
echo %%X
IF %%X EXIST "%dir1%\*.pdf" ( 
start /max AcroRd32.exe /A "pagemode=FullScreen" "%%X"
timeout /t 5
)
Else IF %%X EXIST "%dir1%\*.pptx" (
"C:\Program Files (x86)\Microsoft Office\root\Office16\Powerpnt.exe" /S "%%X"
 timeout /t 5
 )
 ELSE IF %%X EXIST "%dir1%\*.docx" (
 start /max "C:\Program Files (x86)\Microsoft  Office\root\Office16\Winword.exe"  "%%X"
 timeout /t 5
 )
 )
 goto loop  

1 个答案:

答案 0 :(得分:0)

更改

IF %%X EXIST "%dir1%\*.pdf" ( 

IF /i "%%~xX"==".pdf" ( 

(并按照弹跳球进行其他扩展)

也就是说,如果(不区分大小写)找到的文件名的扩展名等于(keystring),则执行指定的命令。