我试图创建一个程序来搜索谷歌用户输入的内容我创建了这个:
@echo off
set "str1=www.google.co.uk/search?q="
echo What shall i do?
set /p Input=
set "str2=%str1%%Input%"
Start "str2"
Pause
:END
问题是什么时候开始" str2"它只是打开一个名为" str2"的新命令提示符窗口。但我想让它运行什么" str2"是,这是一个谷歌网址,我怎么能做到这一点?此外,如果我输入两个词,如"大象婴儿"进入输入然后我将如何让它意识到我希望它搜索"大象婴儿"而不只是" elephant"?
帮助表示赞赏
-Atlas
答案 0 :(得分:0)
以下是针对有效Google查询扩展的代码(对于所有可能的查询都不完整):
@echo off
setlocal EnableDelayedExpansion
set "SearchUrl=https://www.google.co.uk/search?q="
set /p "Input=Enter search query: "
set "SearchUrl=%SearchUrl%!Input: =+!"
set "SearchUrl=!SearchUrl:"=%%22!"
start "Google Search" "%SearchUrl%"
endlocal
pause
set /p
之后的第一行将预定义字符串与用户输入的字符串连接起来,根据Google查询的需要,每个空格都会被加号替换。
在下一行中,输入的搜索查询中的所有双引号都会被%22
替换为Google查询。
输入"Stack Overflow"
运行此批处理文件会导致使用URL启动默认浏览器:
https://www.google.co.uk/search?q=%22Stack+Overflow%22
有关setlocal
引用带感叹号的变量而不是延迟扩展的百分号以及输入字符串中的替换如何工作的详细信息,请打开命令提示符窗口,输入set /?
,点击键 RETURN 或 ENTER 并在控制台窗口中读取帮助输出以获取命令设置。
使用参数/?
执行Windows命令或Windows控制台应用程序通常会在命令提示符窗口中显示此命令/控制台应用程序的简要说明。