Uruchom URL z cytatami z Powershell


2

Obecnie piszę funkcję PowerShell, która (mam nadzieję, że na końcu) będzie działała identycznie z zaawansowanym wyszukiwaniem Google, aby pomóc w nauce pisania skryptów. Korzystając z tego artykułu na blogu , udało mi się zebrać większość funkcji razem, ale zauważyłem, że przy próbie „uruchomienia” adresu URL zawierającego cytaty nie działa on tak, jak tego oczekuję.

Na przykład, kiedy wstawiam następujące polecenie w PowerShell:

start "http://google.com/search?&as_q=hi&as_oq=`"there+how+are`"+you"

Chrome uruchomi się z adresem URL bez słów „jest w pobliżu” + jak + są ”.

Jeśli wstawię adres URL ręcznie, bez znaczników grawitacji, działa on zgodnie z oczekiwaniami.

Korzystam z systemu Windows 10. Moją domyślną przeglądarką jest Google Chrome.

Dzięki!


Nie jestem pewien (stąd komentarz, a nie odpowiedź), ale myślę, że możesz start --% "http...... -% mówi PS, aby przestał analizować pozostałą część polecenia.
Twisty Impersonator

Nie wydaje się działać. Myślę, że to powoduje, że Powershell przestaje rozpoznawać, że załączona wartość jest adresem URL i musi zostać uruchomiona w przeglądarce internetowej. Próbowałem także użyć start chrome.exe --% "url"i to też nie działało; Myślę jednak, że mogłem znaleźć potencjalne obejście, które odpowiada na moje pytanie, które opublikuję poniżej.
mystbinder

Odpowiedzi:


3

Można użyć kodowania adresu URL dla znaków specjalnych - tzn. %20Jest to odpowiednik posiadania pojedynczej spacji w adresie URL. Okazuje się, że %22jest to odpowiednik podwójnego cudzysłowu. Zobacz ten link w3schools, aby uzyskać dużą listę kodowań adresów URL.

Z tych informacji wynika, że ​​to polecenie załatwia sprawę:

start "http://google.com/search?&as_q=hi&as_oq=%22there+how+are%22+you"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.