Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Batch file 在windows.bat文件上使用%*作为字符串参数_Batch File_Parameters_Command Prompt - Fatal编程技术网

Batch file 在windows.bat文件上使用%*作为字符串参数

Batch file 在windows.bat文件上使用%*作为字符串参数,batch-file,parameters,command-prompt,Batch File,Parameters,Command Prompt,我一直在尝试创建一个简单的.bat文件来通过终端运行google搜索,但我发现我的参数有问题(?),我一直在搜索一些答案,并找到了许多可能的方法来实现我试图实现的目标,但是,它们都不起作用,所以要么我的代码有问题,要么我只是笨到用这个东西编程D: 无论如何。。下面是我的.bat版本和我在尝试中遇到的问题 V-1.0 @echo off start http:\\google.com\search?q=%1 第一次尝试是这样的: 问题::如果没有“somethingToSearch”,则无法使用

我一直在尝试创建一个简单的.bat文件来通过终端运行google搜索,但我发现我的参数有问题(?),我一直在搜索一些答案,并找到了许多可能的方法来实现我试图实现的目标,但是,它们都不起作用,所以要么我的代码有问题,要么我只是笨到用这个东西编程D:

无论如何。。下面是我的.bat版本和我在尝试中遇到的问题

V-1.0

@echo off
start http:\\google.com\search?q=%1
第一次尝试是这样的:

问题::如果没有“somethingToSearch”,则无法使用该命令 搜索包括“somethingToSearch”

示例::谷歌“minna esper da yo”

将导致用“”搜索“mina esper da yo” 这将搜索的内容限制在某个点上。。在我的键盘上打字真是太无聊了

google.bat 1.0

@echo off
start http:\\google.com\search?q=%1
V-2.0

@echo off
start http:\\google.com\search?q=%1
试图将“%1”更改为“%*”以获取所有%parameters%并设置stringVar=%parameters%。。。找不到这样做的方法。。。。 我试过了

对于(%input%)中的/F%%a,请设置搜索=%%a

这将提供::ECHO search=%1(始终)

V-3.0

@echo off
start http:\\google.com\search?q=%1
由于无法解析“%*”,我决定从%1参数中删除“”并将其设置为搜索。。。除了扩展字符串的%1之外,找不到任何有用的东西(…这是一半?我相信),但是我不能设置一个变量equal+=expansions*我很笨,我知道

TL;DR

所以我的问题是:有没有一种方法可以将所有参数(%*)转换成一个不带引号的字符串

这意味着:

有没有办法让它发挥作用

谷歌MinnaEsperDaYo

输入=minna esper da yo

%1=米娜

%2=esper

因此.bat将执行::搜索?q=%1+%2+%3….%n

注意:我不知道要搜索多少个参数?我想我可以创建一个边界并创建一个for循环来迭代并检查%1-9是否存在?并添加到搜索中,但只有当我真的没有找到任何解决方案时,我才会这样做

谢谢你们的阅读,很抱歉打扰了你们试试看


哦,你做得这么简单真是太好了。。那天晚上晚些时候,我自己用一个循环找到了一个方法。。但是你的方法很简单=]我对.bat脚本不太了解,所以我不知道你做了什么,如果不麻烦的话,请解释一下:=+%做了什么?它用字符串替换,用空格替换+字符。您可以在“字符串替换”部分中阅读更多内容。这只适用于环境变量,这就是为什么我使用
set
将参数放入环境变量中,然后立即将其取出,包括将空间交换为plus。