batch-file - 批处理文件: input barcodes string substitution

标签 batch-file input user-input barcode barcode-scanner

我正在使用批处理脚本,并且我有一个像这样的输入变量:

~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/

相关文章:

windows - 如何告诉 Windows 批处理脚本执行下一行而不等待上一行完成执行?

windows - 为什么批处理文件中名称中带有数字的 env 变量的解释不正确?

c++ - 带有文件输入的 exec 系列

c - 如何从C中的用户输入中读取字符串,放入数组并打印

c++ - 将文件保存到用户在 C++ 中输入定义的位置和名称

java - 安装 JMeter 的问题

batch-file -/f 的批处理文件在构建后不适用于所有

C y/n 函数无法接受用户输入

java - Java读取txt文件第一行的第一个整数

c++ - 带空格的 std::cin 输入?