如何使用BATCH启动字符串

时间:2015-06-12 09:45:23

标签: string batch-file

我试图创建一个程序来搜索谷歌用户输入的内容我创建了这个:

@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

1 个答案:

答案 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控制台应用程序通常会在命令提示符窗口中显示此命令/控制台应用程序的简要说明。