批处理脚本可打开多个程序+多个浏览器选项卡

时间:2018-10-08 04:03:55

标签: windows batch-file automation

免责声明:我不打算上班,我的代码阅读能力是初学者水平

我找到了一个有用的脚本,可以从初始脚本中打开多个选项卡(在Chrome中)。我也想打开多个应用程序(示例具有OneNote和Outlook)。 *此调用的“ list.txt”文件仅包含四个不同的网址。

@echo off
setlocal enableextensions
set num=4
for /l %%i in (1,1,%num%) do call :start
endlocal
goto :eof

:start
set /p URL=<list.txt
start "" "%URL%"
more +1 list.txt | findstr /r /v "^$" > tmp_list.txt
echo.%URL%>>tmp_list.txt
del list.txt
ren tmp_list.txt list.txt

cd "C:\Program Files (x86)\Microsoft Office\root\Office16\ONENOTE.EXE"
start ONENOTE.EXE

cd "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE"
start OUTLOOK.EXE

goto :eof

我想我了解浏览器选项卡代码的工作方式,但是我怀疑该逻辑会干扰打开Outlook和OneNote,因此每次我运行此脚本时,都会打开多个Outlook和OneNote实例。

我们非常感谢您的帮助,因为尝试自动执行重复的管理工作始终是一个好主意。

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal enableextensions
set "num=4"
( for /l %%i in (1, 1, %num%) do call :start ) < list.txt

cd /d "C:\Program Files (x86)\Microsoft Office\root\Office16"
start ONENOTE.EXE
start OUTLOOK.EXE

endlocal
exit /b

:start
set /p "URL="
start "" "%URL%"
exit /b

如果将for循环括在圆括号中,并将stdin括在list.txt中, 然后文件句柄保持打开状态,以便读取4行中的每一行 按顺序。 您发布的代码在每个循环中都会重新打开文件句柄,因此您可以 每次通话都读取第一行。

摘要

for循环从list.txt读取4行。 call :start接受其中set /p "URL="所在行的标准输入 将行存储在名为URL的变量中。 start打开 值%URL%。呼叫将返回到从呼叫的线路 并会再次循环。

循环完成后,将执行Onenote,然后执行Outlook。