首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows Shell中将包含*(星号)字符的字符串作为命令行参数传递

问在Windows Shell中将包含*(星号)字符的字符串作为命令行参数传递
EN

Stack Overflow用户
提问于 2010-03-04 04:11:49
回答 2查看 7.6K关注 0票数 5

我正在寻找一种通过命令行将包含"*“字符的字符串传递给可执行文件的方法。

代码语言:javascript
复制
  command.exe 3*2

我想要传递字符串3*2。Windows所做的是在当前目录中搜索与文件掩码"3*2“匹配的文件,并将找到的所有文件传递给command.exe

在双引号之间加上"3*2“无济于事,仍然存在同样的问题。

我也尝试了'3*2‘(在单引号之间),但随后传递了整个字符串(包括单引号),这不是我需要的。

有没有办法将字符串3*2 (不带任何引号)传递给命令?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-04 05:13:24

在Windows命令shell中,您执行的命令负责扩展参数中存在的任何通配符。这种行为与Unix和朋友不同,在Unix和friends中,通配符扩展通常是由shell完成的。

一个简单的例子说明了这一点。

视窗(Windows7):

代码语言:javascript
复制
C:\Users\Frank>echo *
*

如您所见,该命令输出的参数与命令行传入的参数完全相同。

Linux ( CentOS Linux 5上的bash):

代码语言:javascript
复制
> echo *
centos-release-5-0.0.el5.centos.2.i386.rpm centos-release-notes-5.0.0-2.i386.rpm glibc-2.5-12.i386.rpm glibc-common-2.5-12.i386.rpm virtualmin-install.log

在这里,通配符参数被shell替换为当前目录中的文件/目录列表。

因此,如果您的可执行文件通过扩展通配符来处理通配符,则您对此无能为力。具体的行为取决于你的命令。

如果您提供更多关于您的命令和您想要实现的目标的详细信息,我们也许能够提供更多帮助。

票数 6
EN

Stack Overflow用户

发布于 2010-03-04 08:13:36

你可以试着逃走

代码语言:javascript
复制
command.exe 3^*2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2374566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档