标题: [文件操作] 求教,批处理替换文档中指定密码 [打印本页]
作者: 花开花落 时间: 2022-7-6 16:20 标题: 求教,批处理替换文档中指定密码
本帖最后由 花开花落 于 2022-7-6 16:34 编辑
批处理将下面文档中,LOCAL PASSWORD=123456替换为LOCAL PASSWORD=abcdef。
主要是USERNAME不能动,而且set设置变量又不能有等号,不会弄了,请高手帮忙。
[ABC]
ORGCODE=123123
AREACODE=0001
POSNO=0001
[SQL SERVER]
LOCAL NAME=127.0.0.1
LOCAL DBNAME=abc_abc
LOCAL USERNAME=123456
LOCAL PASSWORD=123456
POS NAME=127.0.0.1
POS DBNAME=abc_abc
POS USERNAME=123456
POS PASSWORD=123456
AGENT NAME=127.0.0.1
AGENT PORT=111
[DIAL PARAMS]
DIAL_NAME=
DIAL_MODE=1
AUTO_DIAL_MODEM=FALSE
DIAL_USER=123
DIAL_PASSWORD=123
VPN AUTORUN=FALSE
VPN APPNAME=
VPN KILLID=
作者: Batcher 时间: 2022-7-6 18:47
回复 1# 花开花落
test_1.bat- @echo off
- cd /d %~dp0
- (for /f "tokens=1* delims==" %%i in ('type "1.txt"') do (
- echo %%i | findstr "[" >nul 2>&1
- if errorlevel 1 (
- if "%%j" equ "" (
- echo,%%i=
- ) else if "%%i" equ "LOCAL PASSWORD" (
- echo,%%i=abcdef
- ) else (
- echo,%%i=%%j
- )
- ) else (
- echo,%%i
- )
- ))>"2.txt"
复制代码
作者: Batcher 时间: 2022-7-6 18:50
回复 1# 花开花落
test_2.bat- @echo off
- cd /d %~dp0
- setlocal enabledelayedexpansion
- (for /f "tokens=1* delims==" %%i in ('type "1.txt"') do (
- set "str=%%i"
- if "!str:[=!" equ "%%i" (
- if "%%j" equ "" (
- echo,%%i=
- ) else if "%%i" equ "LOCAL PASSWORD" (
- echo,%%i=abcdef
- ) else (
- echo,%%i=%%j
- )
- ) else (
- echo,%%i
- )
- ))>"2.txt"
复制代码
作者: Batcher 时间: 2022-7-6 18:52
回复 1# 花开花落
test_3.bat 调用命令行工具 sed.exe
http://bcn.bathome.net/s/tool/index.html?key=sed- sed "s/LOCAL PASSWORD=.*/LOCAL PASSWORD=abcdef/" 1.txt > 2.txt
复制代码
作者: 花开花落 时间: 2022-7-7 08:52
回复 3# Batcher
厉害,感谢感谢。向大佬致敬,学习了!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |