我有一个批处理脚本:
echo on
Set appdir=This is testing for substring : Management\s18vx
ECHO %appdir%
REM get substring i.e, s18vx
Set SubStr = %appdir:~43%
ECHO %SubStr%
cmd /k
Run Code Online (Sandbox Code Playgroud)
获取子字符串后,我将其设置为新变量。在 Echo 上,此变量不打印任何内容。不知道这里出了什么问题。基本上我想用提取的字符串填充新变量,即本例中的 s18vx 。
试一试这个:
@echo off
set "appdir=This is testing for substring : Management\s18vx"
echo %appdir%
REM get substring i.e, s18vx
Set "SubStr=%appdir:~43%"
echo %SubStr%
pause
Run Code Online (Sandbox Code Playgroud)
前后的空间=实在是不想要这里了。这将创建一个带有试用空格的变量名称和带有前导空格的值,即:set variable = value因此将变为%variable %and value。
还要将变量用双引号括起来,以消除额外的空格,尤其是在变量字符串之后。
有关命令的更多帮助set,请打开cmd.exe并键入set /?
一些旁注:默认情况下,回声是打开的,除非这构成了脚本的一部分,其中回声之前被关闭并且您出于某种原因想要打开它,否则您不需要打开它。
另外,我建议如果您只想要一个最终结果,@echo off因为echo on它几乎就像一个调试功能,它echo是您运行的每个命令,其中echo off将禁用它并仅显示最终结果。
| 归档时间: |
|
| 查看次数: |
14267 次 |
| 最近记录: |