[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理变量嵌套截取如何处理?

代码如下

::天气预报--------------------------------
::得到天气城市名
for /f "tokens=1 delims=," %%i in ('cscript //NoLogo /e:vbscript "%temp%\webget.vbs" "http://api.liqwei.com/weather/"') do (set "tqcs=%%i")
::得到天气预报并合并成一行赋值给变量
for /f "delims=" %%i in ('cscript //NoLogo /e:vbscript "%temp%\webget.vbs" "http://api.liqwei.com/weather/"') do call set "tq=%%tq%%%%i"
::除去变量中的空格
set tq=%tq: =%
::检查天气变量是否为空,防止获取失败时显示变量名
if "%tq%"=="" set tq=
::变量格式处理
set tq=%tq:%tqcs%=\n%  
::上面这一行,用%tqcs%调用城市名,把城市名全部换成换行符号。但是嵌套的变量名不起作用。
set tq=%tq:风,=风%
set tq=%tq:,10-=%
set tq=%tq:,11-=%
set tq=%tq:,12-=%
set tq=%tq:,1-=%
set tq=%tq:,2-=%
set tq=%tq:,3-=%
set tq=%tq:,4-=%
set tq=%tq:,5-=%
set tq=%tq:,6-=%
set tq=%tq:,7-=%
set tq=%tq:,8-=%
set tq=%tq:,9-=%
set tq=%tq:10,=10日%
set tq=%tq:11,=11日%
set tq=%tq:12,=12日%
set tq=%tq:13,=13日%
set tq=%tq:14,=14日%
set tq=%tq:15,=15日%
set tq=%tq:16,=16日%
set tq=%tq:17,=17日%
set tq=%tq:18,=18日%
set tq=%tq:19,=19日%
set tq=%tq:20,=20日%
set tq=%tq:21,=21日%
set tq=%tq:22,=22日%
set tq=%tq:23,=23日%
set tq=%tq:24,=24日%
set tq=%tq:25,=25日%
set tq=%tq:26,=26日%
set tq=%tq:27,=27日%
set tq=%tq:28,=28日%
set tq=%tq:29,=29日%
set tq=%tq:30,=30日%
set tq=%tq:31,=31日%
set tq=%tq:1,=1日%
set tq=%tq:2,=2日%
set tq=%tq:3,=3日%
set tq=%tq:4,=4日%
set tq=%tq:5,=5日%
set tq=%tq:6,=6日%
set tq=%tq:7,=7日%
set tq=%tq:8,=8日%
set tq=%tq:9,=9日%
set tq=%tq:℃~=~%
set tq=%tq:,=%
set tq=%tqcs%天气%tq%

请大家帮忙处理一下。谢谢!!

最终显示效果(举例):
昭通天气
5日多云16~-2℃微风小于3级
6日小雨11~-2℃微风小于3级
7日雨夹雪11~-2℃微风小于3级

TOP

变量的嵌套时,内外两层的变量符号一定是不同的!~
例如在开启变量延迟后:
set a=!a:%%a=%%b!
set a=!a:%n%=%m%!
call set a=%%a:!c!=7%%
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 3楼 的帖子

还是不明白应该怎么修改才能实现代码通用。。。批处理中调用变量值只能用%%嘛,如何用不同变量符号呢?

TOP

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表