如何在批处理 for循环中打印变量值 30

菜鸟一枚,有个文件file.txt,我想遍历每一行,如果是以%开头,%结尾的,我就打印这个变量的值。内容如下:%ALLUSERSPROFILE%%APPDATA%aaa%... 菜鸟一枚,有个文件 file.txt,我想遍历每一行,如果是以%开头,%结尾的,我就打印这个变量的值。
内容如下:
%ALLUSERSPROFILE%
%APPDATA%
aaa
%CD%
%CMDCMDLINE%
%aaa
%CMDEXTVERSION%
%USERNAME%

期望输出:
%ALLUSERSPROFILE% ---> c:\programdata
但是跳过aaa %aaa 这样不存在的路径
展开
 我来答
依梦琴瑶
高粉答主

2019-03-17 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 读取正确的变量 By 依梦琴瑶
cd /d "%~dp0"

for /f "usebackq delims=" %%a in ("file.txt") do (
    call :Show "%%%%~a%%" "%%~a"
)
pause
call :Donate
exit

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit


:Show
set "Var=" & set "Var=%~1"
if not defined Var goto :eof
if "%Var:~0,1%%Var:~-1,1%"=="%%%%" (
    echo %~1 ---^> %~2
)
goto :eof
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式