首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在批处理参数调用中传递百分号

在批处理参数调用中传递百分号
EN

Stack Overflow用户
提问于 2014-03-26 18:47:53
回答 3查看 2.7K关注 0票数 3

在Windows 7上....

这个SO的答案对我来说似乎是错误的:Use of Percent Sign as a CMD Parameter

在Called.bat中

代码语言:javascript
复制
echo 1=%1

呼叫者蝙蝠

代码语言:javascript
复制
call called.bat "percent%%sign"

结果

百分比%%符号=百分比

“百分比%%符号”=“百分比”

百分比^%符号=百分比

“百分比^%符号”=“百分比^%符号”

percent%%%%sign=百分比

percent%%%sign=百分比

“百分比%符号”=“百分比”

“百分比%符号”=“百分比”

EN

回答 3

Stack Overflow用户

发布于 2014-03-27 11:13:25

调用者

代码语言:javascript
复制
@ECHO OFF
SETLOCAL

CALL qq22658604 "percent%sign"
CALL qq22658604 "percent%%sign"
CALL qq22658604 "percent%%%sign"
CALL qq22658604 "percent%%%%sign"
CALL qq22658604 percent%sign
CALL qq22658604 percent%%sign
CALL qq22658604 percent%%%sign
CALL qq22658604 percent%%%%sign

GOTO :EOF

qq22658604

代码语言:javascript
复制
@ECHO OFF
ECHO 1=%1
GOTO :EOF

结果

代码语言:javascript
复制
1="percentsign"
1="percentsign"
1="percentsign"
1="percent%sign"
1=percentsign
1=percentsign
1=percentsign
1=percent%sign

NFF。

票数 2
EN

Stack Overflow用户

发布于 2014-03-26 19:12:28

当我将second.bat

代码语言:javascript
复制
@echo off
echo %~1

现在有两个案例。

如果从批处理文件调用second.bat,则调用方批处理中的CALL行需要

call called.bat "percent%%%%sign"

只要参数中没有空格,就可以省略引号

如果直接从命令提示符调用called.bat,则可以使用

call called.bat "percent%sign"

票数 0
EN

Stack Overflow用户

发布于 2014-03-27 14:17:54

好吧,这是我的错。该问题是由名为"Take Command“v13 by JP Software的cmd外壳软件引起的。echo命令的行为有所不同。我现在还不知道如何让它正确地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22658604

复制
相关文章

相似问题

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