我正在使用批处理脚本,并且我有一个像这样的输入变量:
~zon|123456789~~zln|12~
进入后,我收到以下消息:“| 此时出现意外情况。”
我应该如何使用字符串替换来获得如下输出结果:
123456789-12
我尝试使用这个,但它不起作用。 不过,使用日期格式很好。 你有什么想法吗?
set path=~zon|123456789~~zln|12~
echo the variable is "%path:~4,8%"
pause
输出:
C:>set path=~zon|123456789~~zln|12~
'23897975~~mln' is not recognized as an internal or external command, operable program or batch file.
最佳答案
set "p=~zon|123456789~~zln|12~"
for /f "tokens=2,4 delims=|~" %%a in ("%p%") do echo %%a-%%b
标记化是这样的:
~zon|123456789~~zln|12~
# 1 # 2 ## 3 #4 #
#
= 分隔符;连续的分隔符被视为一个。如果第一个字符是分隔符,则会被忽略。
关于batch-file - 批处理文件: input barcodes string substitution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738938/