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



我尝试使用以下代码,但它通过每个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 OfficerootOffice16Powerpnt.exe" /S "%%X"
 timeout /t 5
 )
 ELSE IF %%X EXIST "%dir1%*.docx" (
 start /max "C:Program Files (x86)Microsoft  OfficerootOffice16Winword.exe"  "%%X"
 timeout /t 5
 )
 )
 goto loop  

更改

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

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

(并跟随弹跳球进行其他扩展)

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

最新更新