我有一个打开特定网站的批处理文件。我可以添加额外的代码来以 90% 的缩放级别打开所述网站吗?

问题描述 投票:0回答:1

我有一个打开特定网站的批处理文件。我可以添加额外的代码来以 90% 的缩放级别打开所述网站吗?

这是我的 .bat 文件中的当前代码:

@echo off
start "" https://tasks.office.com/TOYOTA1.onmicrosoft.com/Home/PlanViews/LehawuW12UCpPlE1sLCGpGQAGu17?Type=PlanLink&Channel=Link&CreatedTime=638318617565650000 
exit
batch-file web automation
1个回答
0
投票

稍微放大和缩小不幸的 stackoverflow 网站后,这里有一个或多或少的可行解决方案:

@ECHO OFF

FOR /F "tokens=4 delims=. " %%I IN ('ver') DO SET /A VERSION=%%I > NUL
IF NOT DEFINED VERSION EXIT /B 1

SETLOCAL EnableExtensions EnableDelayedExpansion

SET "APPPATH="

IF %VERSION% GTR 8 (
   FOR /F "tokens=3" %%R IN ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /V "ProgId"') DO SET "HTTPREF=%%R"
   IF NOT DEFINED HTTPREF EXIT /B 1
   FOR /F "tokens=2*" %%R IN ('reg query "HKEY_CLASSES_ROOT\!HTTPREF!\shell\open\command" /VE') DO SET "HTTPAPP=%%S"
   IF NOT DEFINED HTTPAPP EXIT /B 1
   CALL :PathParams HTTPAPP
) ELSE (
   FOR /F "tokens=2*" %%R IN ('reg query "HKEY_CURRENT_USER\SOFTWARE\Classes\htmlfile\Shell\open\command" /VE') DO SET "HTTPAPP=%%S"
   IF NOT DEFINED HTTPAPP EXIT /B 1
   CALL :PathParams HTTPAPP
)

IF "%APPPATH%" == "" (
   ECHO No default browser found.
   GOTO :EndOfBatch
)

REM CTR + + zomm in
REM CTR + - zomm out
REM CTR + 0 reset zoom <- works in edge and chrome 8-)

"%APPPATH%" "https://stackoverflow.com"

REM If the above is not working remove it and add
REM START "" "URL"

SET "TEMPFILE=%temp%\script-hotkey-ctrl-0-ctrl-minus.vbs"
IF NOT EXIST "%TEMPFILE%" (
    >"%TEMPFILE%" ECHO Set WshShell = WScript.CreateObject^("WScript.Shell"^)
   >>"%TEMPFILE%" ECHO Wscript.Sleep 1000
   >>"%TEMPFILE%" ECHO WshShell.SendKeys "^0"
   >>"%TEMPFILE%" ECHO Wscript.Sleep 500
   >>"%TEMPFILE%" ECHO WshShell.SendKeys "^-"
)

IF EXIST "%TEMPFILE%" (
   CSCRIPT //nologo "%TEMPFILE%"
)


GOTO :EndOfBatch


:PathParams
SET RES=!%~1!
SET RES=%RES:"=%
SET APPPARAMS=%RES:*.exe=%
IF "%APPPARAMS%" == "" (
   SET "APPPATH=%RES%"
) ELSE (
   SET "APPPATH=!RES:%APPPARAMS%=!"
)
EXIT /B


:EndOfBatch
ECHO.
ECHO Exiting batch now...
ECHO.
ping 1.2.3.4 -n 1 -w 200 >NUL
ENDLOCAL
ping 1.2.3.4 -n 1 -w 100 >NUL
GOTO :Exit


:Exit

不幸的是,这不是纯粹的批处理(热键)。

热键 Ctrl + 0 (cero) 首先将浏览器重置为 100%(至少在 Chrome 和 Edge 中)。
然后热键 Ctrl + - 缩小(或其他)。

它读取注册表以确定默认浏览器来处理可能的其他浏览器热键(将来😏)。

我在Windows 10中测试过;如果注册表部分不起作用,您可以将其删除并粘贴

start
命令中的 url。

浏览每个浏览器并寻找单独的解决方案对我来说似乎非常耗时。

例如Chrome 有很多命令行参数: https://peter.sh/experiments/chromium-command-line-switches/

另一件可能有用的事情是等待窗口并确保它具有焦点。如果需要的话,我可以添加。

关于莫菲的评论:
“应从批处理文件中删除批处理文件末尾的命令退出。在批处理文件末尾始终没有必要,并且在批处理文件末尾使用它只会适得其反。”

它会关闭命令提示符窗口,而不是

EXIT /B
,这在批处理结束时是不必要的 - 所以不 它不是 适得其反,不 它不是 “总是不必要的”。

© www.soinside.com 2019 - 2024. All rights reserved.