【问题标题】:replace special characters with % in batch file在批处理文件中用 % 替换特殊字符
【发布时间】:2015-06-24 11:19:56
【问题描述】:
任何人都可以帮助如何替换包含特殊字符(如空格、(、-、)等的字符串)。
假设我有一个字符串:
str=A Room Has (1 level) - (2 - leve) Rooms
Output string should be like:
str=A%Room%Has%%1%level%%%%2%%%leve%%Rooms
【问题讨论】:
标签:
windows
batch-file
command-prompt
【解决方案1】:
这应该有效:
set "str=A Room Has (1 level) - (2 - leve) Rooms"
set "str=!str:-=%%!"
set "str=!str:(=%%!"
set "str=!str:)=%%!"
set "str=!str: =%%!"
【解决方案2】:
试试这样:
@echo off
set "str=A Room Has (1 level) - (2 - leve) Rooms"
echo Before string substitution : %str%
pause
setlocal EnableDelayedExpansion
set "str=!str:-=%%!"
set "str=!str:(=%%!"
set "str=!str:)=%%!"
set "str=!str: =%%!"
Color 0A
echo After string substitution : !str!
pause