[批处理]截取for命令里面的变量%%i
写了一个批处理,里面需要call几个其他的批处理。
其中主进程需要根据批处理文件运行时的输入参数,选择合适的url,而url的定义写到另外的批处理里面
URLProxyAA.cmd
URLProxyBB.cmd....
我想在主程序运行时搜索一下当前目录,有多少个URLProxy*.cmd,从而列举所有可用的参数,而*匹配的那个string即为主批处理程序的输入参数
如
Go.cmd的usage:
Go.cmd [environemnt]
[environemnt] value should be one of:
AA
BB
由于之前用过for命令(真是个强大的命令,但用法繁多,真不好记)。所以查看for /?后,觉得可以这么用(注意开启变量延迟):
@ECHO OFF && setlocal enableDelayedExpansion
:Usage
echo Example: GenerateSIPxocy.cmd [EnvironmentParameter]
echo Available [EnvironmentParameter] value:
for /F %%i in ('dir /b setproxyurl*.cmd') do (
set TMPSTR=%%i
ECHO !TMPSTR:~11,-5!)
%%i没法直接使用类似%var:~ xx,xx %来截取,所以只能先set,放到一个变量里面。然后通过这种方法截取变量里面的特定字符串,最终达到获取所有可用参数的目的。
转载于:https://www.cnblogs.com/lin2yatou/archive/2013/06/06/3121512.html
总结
以上是生活随笔为你收集整理的[批处理]截取for命令里面的变量%%i的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: apache htpasswd.exe创
- 下一篇: DSPBuilder笔记