Cmd 如何在windows命令行中将空白字符替换为百分比?
我想了解如何在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
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=!我的文字:=%%代码>