我使用批处理文件从我使用的所有 Windows 计算机导入数据。系统信息和其他相关信息。我正在尝试向其中添加浏览器主页,因为人们不喜欢丢失主页,而且我不喜欢打开每个浏览器只是为了查找此信息。我可以在 IE 上执行此操作,但 Google Chrome 和 Firefox 使用 JavaScript,这就是我迷失的地方。
这就是 IE 的情况
@echo off
setLocal
cd /d %~dp0
set Start`Page=
REM Get IE Home Page
for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Start Page"') do set Start`Page=%%~b
echo IE Home Page: %Start`Page% >> Homepages.txt
%~dp0Homepages.txt %MAC%
pause
最佳答案
Chrome
从所有 Chrome“人员”中摘录:
@echo off set js="%temp%\extractChromeHomepage%random%.js" rem List all Chrome persons ( set /p .=settings=<nul type "%LocalAppData%\Google\Chrome\User Data\Local State" echo ;for^(var k in settings.profile.info_cache^) WScript.echo^(k^); )>%js% rem Get the homepage for each Chrome person for /f "delims=" %%a in ('cscript //nologo %js%') do ( ( set /p .=settings=<nul type "%LocalAppData%\Google\Chrome\User Data\%%a\Secure Preferences" echo ;WScript.echo^("Chrome homepage (%%a): " + settings.homepage^); )>%js% cscript //nologo %js% ) del %js%
输出:
Chrome homepage (Default): https://www.google.com/
Chrome homepage (Profile 4): undefined- 如果未设置主页,则会打印
undefined
,如果您愿意,可以自定义 - 要将输出重定向到文件,请在最后一个
cscript
行添加>>somefile.txt
- 如果未设置主页,则会打印
火狐浏览器
从所有配置文件中提取:
@echo off setlocal enableDelayedExpansion for /f "delims== tokens=1*" %%a in (' findstr /i "Name= Path=" "%AppData%\Mozilla\Firefox\profiles.ini" ') do ( if %%a==Name ( set "name=%%b" ) else ( set "profile=%%b" set "profile=%AppData%\Mozilla\Firefox\!profile:/=\!\prefs.js" if exist "!profile!" ( for /f "tokens=2 delims=,) " %%b in (' findstr "\<browser.startup.homepage\>" "!profile!" ') do echo Firefox homepage ^(!name!^): %%~b ) ) ) endlocal
输出:
Firefox homepage (default): about:newtab
Firefox homepage (nightly): about:newtab
关于javascript - 批量导入Windows XP-10浏览器主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33694100/