想要从 Windows 命令跳过 (CMD) 文件中读取代码并提取信息

Want to read Code from Windows Command Skipt(CMD) File and extract Information

特定目录接收一些不同的文件,包括一些 .cmd 个文件。

这是其中之一的示例:

X_COMMAND=DELETE_DOCUMENT
X_DOCIDENTIFICATION=FREE
DTY=MSDS
X_DELIMITER=;
X_FollowingFields=STA;DTY;PRN;SID;CTY;LAN;VKG
V;MSDS;340000021613012300;800000000160;ES;E;ES00

我想使用最后两行代码提取数据:

String xyz = (the command to get 340000021613012300);

问题是:我如何获得这些数据?

我已尝试查找此问题,但未找到任何有关此问题的信息。如果您能帮助我解决这个问题或将我重定向到我要查找的信息,我将不胜感激。

感谢您花时间在这里帮助我。

这是一种方法。如果您使用的是受支持的 Windows 系统,则可以使用 PowerShell。

FOR /F %%A IN ('powershell -NoLogo -NoProfile -Command ^
    "(Get-Content -Path "C:\src\t\Get-LastLineData.txt" |" ^
        "Select-Object -Last 1).Split(';')[2]"') DO (
    SET "xyz=%%~A"
)
ECHO %xyz%

如果您的脚本可以用 PowerShell 编写,它会是:

$xyz = (Get-Content -Path "C:\src\t\Get-LastLineData.txt" |
    Select-Object -Last 1).Split(';')[2]

仅使用 cmd:

for /f "tokens=3 delims=;" %%a in (file.ext) do set "xyz=%%a"
echo %xyz%

(假设你想要最后一行的第三个标记)