Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/152.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
Cmd 如何在windows命令行中将空白字符替换为百分比?_Cmd - Fatal编程技术网

Cmd 如何在windows命令行中将空白字符替换为百分比?

Cmd 如何在windows命令行中将空白字符替换为百分比?,cmd,Cmd,我想了解如何在windows命令行中用%替换空白字符 我目前有: setlocal enabledelayedexpansion set /P MY_TEXT=ENTER TEXT: SET SPACE 2PROCENT= set NEW_TEXT=%MY_TEXT: =test% MSG * %NEW_TEXT% 结果是:SETtestSPACEtest2PROCENT= 但是,如果我尝试将其替换为百分比: setlocal enabledelayedexpansion set /P MY

我想了解如何在windows命令行中用%替换空白字符

我目前有:

setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET SPACE 2PROCENT=
set NEW_TEXT=%MY_TEXT: =test% 
MSG * %NEW_TEXT%
结果是:SETtestSPACEtest2PROCENT=

但是,如果我尝试将其替换为百分比:

setlocal enabledelayedexpansion
set /P MY_TEXT=ENTER TEXT:
SET SPACE 2PROCENT=
set NEW_TEXT=%MY_TEXT: =%%% 
MSG * %NEW_TEXT%
我得到的结果是:SET SPACE 2PROCENT=%%

因此,我知道如果我想在命令行中获得%的话,通常需要输入两个百分点(%)。但是,在我的代码中,我希望在另外两个%之间传递%%。我遇到的问题是,代码将以%开头,找到第一个%,然后停止代码

如何在其他两个%之间加一个%来替换空白字符


提前感谢。

您的代码无效。你必须写(第二次,你想用2%的符号代替空格(
%
->
%
):

@echo关闭
延迟扩展
设置/P“我的文字=输入文字:”
设置“SPACE 2PROCENT=”
设置“新建文本=!我的文本:=%%!”
仅对提供的第二段代码执行上述操作。
消息*%新文本%
如果您想让您提供给我们的第一段代码正常工作,那么您必须编写以下代码:

@echo关闭
延迟扩展
设置/P“我的文字=输入文字:”
设置“SPACE 2PROCENT=”
设置“新建文本=!我的文本:=测试%!”
消息*%新文本%

希望这有帮助

不清楚你在问什么,请拿着这本书读一读。上述批次相同。仅设置本地enabledelayedexpansion是不够的,您还需要使用
而不是
%
使其生效。所以使用
set NEW\u TEXT=!我的文字:=%%