Batch file 在windows.bat文件上使用%*作为字符串参数
我一直在尝试创建一个简单的.bat文件来通过终端运行google搜索,但我发现我的参数有问题(?),我一直在搜索一些答案,并找到了许多可能的方法来实现我试图实现的目标,但是,它们都不起作用,所以要么我的代码有问题,要么我只是笨到用这个东西编程D: 无论如何。。下面是我的.bat版本和我在尝试中遇到的问题 V-1.0Batch 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”,则无法使用
@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。