0

我只想将特定字符删除到字符串中,并且只删除一次。例如,如果我有这个文件:

"1234 + test.txt"

我想删除“+”字符。我的问题是我不知道文件名中有多少个“+”;顺便说一句,我只想删除第一个:

"1234 ++ test + hello + world.txt"

需要:

"1234 + test + hello + world.txt"

我需要使用 bat 脚本来执行此操作。我在正确使用“token,delims”参数时遇到了一些问题......

编辑:我对 Edoro 的解决方案有疑问。如果文件名是“++plus--.txt”,%left% 是“plus--.txt”,%right% 是 +plus--.txt

4

2 回答 2

6

纯批次

@echo off &setlocal
set "string=1234 ++ test + hello + world.txt"

for /f "delims=+" %%i in ("%string%") do set "left=%%i"
set "right=%string:*+=%"
set "new=%left%%right%"
echo %new%

..输出是:

1234 + test + hello + world.txt
于 2013-06-03T11:17:04.110 回答
1

通过 sed 脚本:

echo "1234 + test + hello + world.txt" | sed 's/+//'
于 2013-06-03T10:57:38.527 回答