2016-03-04 91 views
2

我试着使用下面的代码,但它解析通过每个if循环,而不是根据其文件扩展名。我觉得如果我的陈述不正确。任何人都可以简化流程吗?我所需要的是文件应根据其默认文件扩展名程序从文件夹中打开。我也需要将它投影到显示器上。所以还需要整合我添加的全屏模式代码。如何检查文件扩展名,并相应地打开与Windows批处理文件中的默认程序

: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 
+0

您未启动与文件扩展名关联的默认程序。如果你想启动默认程序,只需使用'start'%% X“'。 – IInspectable

+0

@IInspectable它只是使用开始“%% X”不起作用。 – Bhavik

回答

0

变化

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

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

(并按照针对其它分机反弹球)

即,如果(不区分大小写)的延伸找到的文件名等于(keystring),然后执行指定的命令。

+0

感谢您的帮助。扩展的比较似乎即将到来。但它仍然不像其他语句那样工作。它经历了每个循环。错误显示Else不是内部命令。 – Bhavik

+1

“else”关键字必须与之前的')'和其后的'('相同)。 – Magoo

+0

将''%%〜xX''更改为''%%〜X''。 – lit

相关问题