Jestem facetem z Firefoksa, czy jest jakiś sposób na uzyskanie adresu URL aktywnej karty poprzez .batch
plik?
Na przykład, jeśli url aktywnej karcie w Firefoksie jest whatever.com
, muszę się dostać whatever.com
za pomocą bat
pliku.
Jestem facetem z Firefoksa, czy jest jakiś sposób na uzyskanie adresu URL aktywnej karty poprzez .batch
plik?
Na przykład, jeśli url aktywnej karcie w Firefoksie jest whatever.com
, muszę się dostać whatever.com
za pomocą bat
pliku.
Odpowiedzi:
Tylko aktywna karta będzie miała tytuł wykrywalny przez tasklist
. Więc:
tasklist /v /fi "imagename eq firefox.exe" |findstr /r /v "N/A"
lub przetwarzane za pomocą FOR
:
for /f "skip=1 tokens=9* delims= " %%a in ('tasklist /v /fi "imagename eq firefox.exe" ^|findstr /r /v "N/A"') do @echo %%b
chociaż tytuł może być inny niż link.
Z sendkeys.bat
was może oszukać przeglądarkę, aby zmienić swój tytuł do bieżącej linku:
@echo off
::get the title of the active page
for /f "skip=3 tokens=9* delims= " %%a in ('tasklist /v /fi "imagename eq firefox.exe" ^|findstr /r /v "N/A nsAppShell:EventWindow"') do set "fftitle=%%b"
::get the first 10 sympols needs to be passed to the sendkeys command
set "fftitle=%fftitle:~0,10%"
::opens the console of the browser
call sendkeys.bat "%fftitle%" "{f12}"
::waits for 2 seconds
w32tm /stripchart /computer:localhost /period:2 /dataonly /samples:2 1>nul
::changing the title with the link location
call sendkeys.bat "%fftitle%" "document.title=window.location.href{ENTER}"
::wait for 3 seconds
w32tm /stripchart /computer:localhost /period:3 /dataonly /samples:2 1>nul
::get the new title
for /f "skip=3 tokens=9* delims= " %%a in ('tasklist /v /fi "imagename eq firefox.exe" ^|findstr /r /v "N/A nsAppShell:EventWindow"') do set "fftitle=%%b"
echo "%fftitle%"
Edit . Bezpośrednie otwarcie konsoli:
@echo off
::get the title of the active page
for /f "skip=3 tokens=9* delims= " %%a in ('tasklist /v /fi "imagename eq firefox.exe" ^|findstr /r /v "N/A nsAppShell:EventWindow"') do set "fftitle=%%b"
::get the first 10 sympols needs to be passed to the sendkeys command
set "fftitle=%fftitle:~0,10%"
::opens the console of the browser
call sendkeys.bat "%fftitle%" "^+K"
::waits for 2 seconds
w32tm /stripchart /computer:localhost /period:2 /dataonly /samples:2 1>nul
::changing the title with the link location
call sendkeys.bat "%fftitle%" "document.title=window.location.href{ENTER}"
::wait for 3 seconds
w32tm /stripchart /computer:localhost /period:3 /dataonly /samples:2 1>nul
::get the new title
for /f "skip=3 tokens=9* delims= " %%a in ('tasklist /v /fi "imagename eq firefox.exe" ^|findstr /r /v "N/A nsAppShell:EventWindow"') do set "fftitle=%%b"
echo "%fftitle%"