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

[文本处理] [已解决]批处理如何读取文件中内容作为参数?

如何读取文件中内容作为参数?

原代码:
echo.
set /p ip=请输入服务器ip:
echo.
set /p pass=请输入密码:

服务器ip和密码得手工输入,代码怎样修改后,不需要输入,就能从下面的SYS.INI文件中读取相应的内容?

SYS.INI文件内容:

服务器IP:192.168.1.201
服务器密码:123456
重置时间:60

建议读取的文件内容直接就是参数,代码等一会再发给你。

TOP

用for分析文本得到参数
  1. @echo off
  2. for /f "tokens=1-2 delims=:" %%i in (SYS.INI)do set "%%i=%%j"
  3. set ip=%服务器IP%
  4. set pass=%服务器密码%
  5. echo IP:[%ip%]  MM:[%pass%]
  6. pause
  7. goto :eof
复制代码
1

评分人数

如无特别说明,代码测试环境均为 XP SP3

TOP

  1. @echo off
  2. for /f "tokens=1,2 delims=:" %%a in ('type sys.ini') do (
  3. if "%%a"=="服务器IP" set ip=%%b
  4. if "%%a"=="服务器密码" set pass=%%b
  5. )
  6. echo,%ip%
  7. echo,%pass%
  8. pause
复制代码
1

评分人数

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set row=0
  4. for /f "tokens=*" %%i in (SYS.INI) do (
  5. set /a row=row+1
  6. if !row!==1 set ip=%%i
  7. if !row!==2 set pass=%%i
  8. if !row!==3 set sj=%%i
  9. )
  10. echo %ip%
  11. echo %pass%
  12. echo %sj%
  13. pause
复制代码
1

评分人数

TOP

本帖最后由 newswan 于 2021-5-1 11:23 编辑

ini 用变量名
  1. timeout : 90
  2. 或者
  3. timeout=90
复制代码
批处理
  1. set %%a=%%b
  2. 或者
  3. set %%a
复制代码

TOP

本帖最后由 1152 于 2021-5-3 11:58 编辑

回复 6# newswan

TOP

返回列表