使用批处理脚本从字符串中删除特定字符

rsc*_*rin 0 string wildcard batch-file

我想只删除特定字符到一个字符串,只有一次.例如,如果我有这个文件:

"1234 + test.txt"
Run Code Online (Sandbox Code Playgroud)

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

"1234 ++ test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

需要:

"1234 + test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

我需要使用bat脚本执行此操作.我有一些问题正确使用"令牌,delims"参数....

编辑:我对Edoro的解决方案有疑问.如果filename是"++ plus - .txt",%left%是"plus - .txt",%right%是+ plus - .txt

End*_*oro 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%
Run Code Online (Sandbox Code Playgroud)

..output是:

1234 + test + hello + world.txt
Run Code Online (Sandbox Code Playgroud)