Rob*_*bP2 6 python linux windows batch-file
我有一个Windows批处理脚本,用于快速谷歌搜索.但是,我无法弄清楚如何一般编码特殊字符.就像我试图搜索C#一样,英镑符号会破坏它.这是我的代码:
SET q="https://www.google.com/#q=%*"
SET q=%q: =+%
chrm %q%
Run Code Online (Sandbox Code Playgroud)
我认为在Windows bat脚本中直接执行此操作并不是一种好方法.对于像这样的更重的东西来说,Python是一个很好的解决方案,它是跨平台的,总是很好.由于您使用的是Windows,因此您可以编写一个PowerShell脚本来执行此操作.但是,这是我编写的Python 3脚本,我认为它正在寻找你正在寻找的东西.
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()
Run Code Online (Sandbox Code Playgroud)
这是Linux的本机脚本,您可以在其中设置您的详细信息.您可以在Windows批处理文件中执行非常类似的操作.我把它命名为goog(没有扩展名,因为输入太多了:))
#!/bin/bash
python3 /home/justin/Dropbox/MyFiles/Programs/CrossPlatform/Python3/GoogleSearch.py "firefox" "-new-window" "$@"
Run Code Online (Sandbox Code Playgroud)
确保您的本机脚本位置在$ PATH中.从终端或运行命令执行如下操作.
goog i like turtles
Run Code Online (Sandbox Code Playgroud)
无需安装任何外部工具:
@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%
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2463 次 |
| 最近记录: |