Board logo

标题: [文本处理] [已解决] 批处理如何读取外部资料 %变量% [打印本页]

作者: Pia    时间: 2015-6-16 16:15     标题: [已解决] 批处理如何读取外部资料 %变量%

本帖最后由 Pia 于 2015-6-17 08:54 编辑

今天碰到一个问题, 从特定档案中提取特定变数
但是%USERPROFILE% 不会自动展开, 该如何修正呢?

得到的输出为
ADIR=GTAV_SAVE
BDIR=%USERPROFILE%\Documents\Rockstar Games\
请按任意键继续 . . .


希望得到这个输出, 要如何修改呢?
ADIR=GTAV_SAVE
BDIR=C:\Users\XXXX\Documents\Rockstar Games\



================ 读取外部文件.cmd =================
  1. @echo off
  2. if exist Setting.ini set Setting_Files=Setting.ini
  3. findstr /b "ADIR" "%~dp0%Setting_Files%" >%TEMP%\temp.txt & for /f "delims== tokens=2*" %%i in (%TEMP%\temp.txt) do (set ADIR=%%i)
  4. findstr /b "BDIR" "%~dp0%Setting_Files%" >%TEMP%\temp.txt & for /f "delims== tokens=2*" %%i in (%TEMP%\temp.txt) do (set BDIR=%%i)
  5. echo ADIR=%ADIR%
  6. echo BDIR=%BDIR%
  7. PAUSE
复制代码
================ 读取外部文件.cmd END=================


================Setting.ini==================

ADIR=GTAV_SAVE
BDIR=%USERPROFILE%\Documents\Rockstar Games\

================Setting.ini END==================
作者: apang    时间: 2015-6-16 19:13

  1. @echo off
  2. set "Setting_Files=Setting.ini"
  3. for /f "delims=" %%i in ('findstr /b "ADIR BDIR" "%Setting_Files%"') do call set "%%i"
  4. echo ADIR=%ADIR%
  5. echo BDIR=%BDIR%
  6. PAUSE
复制代码

作者: Pia    时间: 2015-6-17 08:53

太好了!!!  谢谢你的帮忙~~




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2