Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何使用批处理启动字符串_String_Batch File - Fatal编程技术网

String 如何使用批处理启动字符串

String 如何使用批处理启动字符串,string,batch-file,String,Batch File,我正在尝试制作一个程序,在谷歌上搜索用户输入的内容。我创建了这个程序: @echo关闭 设置“str1=www.google.co.uk/search?q=” 我该怎么办? 设置/p输入= 设置“str2=%str1%%Input%” 启动“str2” 暂停 :结束 问题是,当is启动“str2”时,它只会打开一个名为“str2”的新命令提示窗口,但我希望它运行“str2”是什么,这是一个google url,我如何才能做到这一点?此外,如果我在输入中输入了两个单词,如“大象宝宝”,那么我将如何

我正在尝试制作一个程序,在谷歌上搜索用户输入的内容。我创建了这个程序:

@echo关闭
设置“str1=www.google.co.uk/search?q=”
我该怎么办?
设置/p输入=
设置“str2=%str1%%Input%”
启动“str2”
暂停
:结束

问题是,当is启动“str2”时,它只会打开一个名为“str2”的新命令提示窗口,但我希望它运行“str2”是什么,这是一个google url,我如何才能做到这一点?此外,如果我在输入中输入了两个单词,如“大象宝宝”,那么我将如何让它意识到我希望它搜索“大象宝宝”,而不仅仅是“大象”

感谢您的帮助


-Atlas

以下是针对有效Google查询的扩展代码(并非所有可能的查询都完整):

set/p
后面的第一行将预定义字符串与用户输入的字符串连接在一起,根据谷歌查询的需要,将每个空格替换为加号

在下一行中,输入的搜索查询中的所有双引号将根据Google查询的需要替换为
%22

通过输入
“堆栈溢出”
运行此批处理文件会导致启动带有URL的默认浏览器:

https://www.google.co.uk/search?q=%22Stack+Overflow%22
有关
setlocal
引用带有感叹号而不是百分号的变量以进行延迟扩展以及如何替换输入字符串的详细信息,请打开命令提示窗口,输入
set/?
,在控制台窗口中,点击回车键或回车键,立即阅读命令set的帮助输出


使用参数
/?
执行Windows命令或Windows控制台应用程序通常会在命令提示符窗口中显示此命令/控制台应用程序的简要说明。

启动“%str2%”
-看起来像是缺少百分号。啊,是的,你说得对。我添加了百分号,但这不起作用,所以我去掉了引号,这就成功了:
start%str2%
但是它仍然只会搜索第一个单词,而忽略第二个单词。因此,我键入“可爱的宝贝”,它只搜索“宝贝”而忽略“可爱”:/这是因为您需要对url URI进行编码。如果直接从命令行调用,请将空格替换为
%%20
。抱歉,我对整个批处理编程都不熟悉,“将空格替换为%%20”是什么意思??你的意思是这样吗?:
@echo off color 2 set“str1=www.google.co.uk/search?q=“echo我该怎么办?”?设置/p输入=设置“str2=%str1%%Input%”开始%str2%echo%str2%%%20暂停:结束
https://www.google.co.uk/search?q=%22Stack+Overflow%22