前言
又是实际开发中的问题,想要截取一个文件路径中的盘符、文件名等信息,第一反应是正则表达式?或者是 split
函数?这些往往都是“高级”语言中才会有的实现方法,对于批处理来说有点“带不动”啊,那么在bat批处理中要怎样处理类似的请求呢?最近找到了两种方法,接下来会逐一展示一下,不过在展示具体的写法前,我们先来看一下 %~dp0
的含义。
对于左值和右值有一个不太严谨的定义——在赋值表达式 =
左侧是的左值,而在 =
右侧的是右值。通过不断学习和尝试,最近我发现一个新的说法更加贴切,那就是“左值是容器,右值是东西”。对于这个定义我们可以类比一下水杯和水,通过水杯可以操作水杯中的水,操作过程中的中间结果如果想要进一步操作,可以将其放入其他的水杯,如果没有水杯就无法找到曾经操作过的水了,也就无法继续操作了。
1 | int a = 2; |
在这个例子中,变量 a
,b
, c
都是水杯,而 2
、6
、a + b
都是被用来操作的水,只有把这些“水”放到“水杯”中才能被找到,才可以进行下一步操作。