加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:52:09 所属栏目:Windows 来源:网络整理
导读:我正在寻找一种方法,通过命令行将包含“*”字符的字符串传递给可执行文件. command.exe 3*2 我想传递字符串3 * 2.相反,Windows会在当前目录中搜索与文件掩码“3 * 2”匹配的文件,并将找到的所有文件传递给command.exe 在双引号之间加上“3 * 2”也没有用,仍
我正在寻找一种方法,通过命令行将包含“*”字符的字符串传递给可执行文件.

command.exe 3*2

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

在双引号之间加上“3 * 2”也没有用,仍然是同样的问题.

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

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

解决方法

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

一个简单的例子证明了这一

Windows(Windows 7):

C:UsersFrank>echo *
*

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

Linux(在CentOS Linux 5上进行bash):

> 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替换为当前目录中的文件/目录列表.

因此,如果您的可执行文件通过扩展它们来处理通配符,那么您无法做到这一点.具体行为取决于您的命令.

如果您提供有关命令的更多详细信息以及您希望实现的目标,我们可能会提供更多帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读