Tengo un script por lotes de Windows que utilizo para realizar búsquedas rápidas en Google. Sin embargo, no puedo entender cómo codificar genéricamente caracteres especiales. Por ejemplo, si trato de buscar C#, el signo de libra lo rompe. Aquí está mi código:
SET q="https://www.google.com/#q=%*" SET q=%q: =+% chrm %q%Sin instalar ninguna herramienta externa:
@echo off setlocal set "string=gibberish+?blahblah@" :: Define simple macros to support JavaScript within batch set "beginJS=mshta "javascript:code(close(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(" set "endJS=)));"" :: FOR /F does not need pipe for /f %%N in ( '%beginJS% encodeURIComponent("%string%") %endJS%' ) do set encoded=%%N echo %string% -^> %encoded%No creo que haya una buena manera de hacerlo directamente en un script bat de Windows. Python es una gran solución para algunas cosas más pesadas como esa, y es multiplataforma, lo que siempre es bueno. Como está en Windows, probablemente podría escribir un script de PowerShell para hacerlo. Sin embargo, aquí hay un script de Python 3 que escribí que creo que hace lo que está buscando.
import sys import subprocess import urllib.parse browser = sys.argv[1] browserParms = sys.argv[2] queryString = " ".join(sys.argv[3:]) queryString = urllib.parse.quote(queryString) url = "https://www.google.com/#q=" + queryString subprocess.Popen([browser, browserParms, url]) sys.exit()Aquí hay un script nativo para Linux donde puede configurar sus detalles. Podría hacer algo muy similar en un archivo por lotes de Windows. Lo nombré goog (sin extensión porque sería demasiado para escribir :))
#!/bin/bash python3 /home/justin/Dropbox/MyFiles/Programs/CrossPlatform/Python3/GoogleSearch.py "firefox" "-new-window" "$@"Asegúrese de que la ubicación de su script nativo esté en $PATH. Ejecute así desde Terminal o Ejecute un comando.
goog i like turtles