windows - 似乎无法在批处理文件中获得一致的子字符串

标签 windows batch-file substring

这是一个奇怪的问题。我有一个批处理文件,其中有两个参数。我想检查每个的前三个字符。第一个子字符串很好,但第二个不会。这是一个例子:

SET FIRST_ARG=%1
SET SECOND_ARG=%2

ECHO first argument is %FIRST_ARG%
ECHO first substring is %FIRST_ARG :~1,3%

ECHO second argument is %SECOND_ARG%
ECHO second substring is %SECOND_ARG :~1,3%

前两个 ECHO 语句工作正常并按应有的方式显示我的字符串。 ECHO 语句“ECHO second argument is”显示了第二个参数,但最后一行“ECHO second substring is”不返回任何内容。

我错过了什么吗?

感谢您的帮助。

罗布

最佳答案

您的问题是冒号 : 之前的空格。使用 %FIRST_ARG:~1,3%%SECOND_ARG:~1,3% 应该可以解决您的问题。

关于windows - 似乎无法在批处理文件中获得一致的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8930642/

相关文章:

windows-7 - 批量报警文件不会响

regex - jq 按模式拆分字符串

linux - 是否有微软的 signtool 的开源替代品来使用 sha2 对 exe 进行签名?

ruby - Git Bash 和 ruby

c - 具有多个参数的 shellexecuteEx

java - 如何使用正则表达式仅匹配字符串中特定位置的模式?

c# - 如何删除字符串的一部分?

python - 魔杖+ImageMagick+Anaconda : "' wand' has no attribute 'image' "

windows - 在批处理脚本中隐藏命令结果

batch-file - 是否可以使用批处理文件来建立 telnet session 、发送命令并将输出写入文件?