找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24915|回复: 10

[文本处理] 求助 CMD 的文件內容修改代碼

[复制链接]
发表于 2012-10-1 08:58:33 | 显示全部楼层 |阅读模式
有个文件 A .txt 內容有 如下二个部份 IP= XXX.XxX.XXX.XX  想以賦值 %AA% 去取代 XXX.XXX.XXX.XX 的部份 第二部份是內容 "文件ID=0000|0000|0000|0000|0000|0000|0000|0000"想以賦值 %BB% 取代 0000|0000|0000|0000|0000|0000|0000|0000 或去除 只保留 文件ID= 這樣的文件操作 CMD的代碼該如何寫? 我有嘗試找大大們的文章 可是對於符号的變義不懂 ~ 求大大幫助
发表于 2012-10-1 09:07:42 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1* delims==" %%a in (a.txt) do (
  3.   if /i "%%a"=="IP" set "AA=%%b"
  4.   if /i "%%a"=="文件ID" set "BB=%%b"
  5. )
复制代码

评分

参与人数 1技术 +1 收起 理由
jamiemkin + 1 對你的景仰如长江之水连绵不绝,如黄河泛滥 ...

查看全部评分

 楼主| 发表于 2012-10-1 09:23:50 | 显示全部楼层
apang 发表于 2012-10-1 09:07



    感謝大大的速度回覆 ~ 可是這沒有寫回文件裡的命令~ 我就是在寫回文件裡這裡卡住了~可否請大大再完善一下
发表于 2012-10-1 09:54:05 | 显示全部楼层
呃,如果a.txt只有这两行内容:
IP=XXX.XXX.XXX.XX
文件ID=0000|0000|0000|0000|0000|0000|0000|0000
  1. @echo off
  2. set "AA=Bat"
  3. set "BB=Home"
  4. (for /f "tokens=1* delims==" %%a in (a.txt) do (
  5.   if /i "%%a"=="IP" echo,%%a=%AA%
  6.   if /i "%%a"=="文件ID" echo,%%a=%BB%
  7. ))>b.txt
复制代码
 楼主| 发表于 2012-10-1 09:56:09 | 显示全部楼层
呃,如果a.txt只有这两行内容:
IP=XXX.XXX.XXX.XX
文件ID=0000|0000|0000|0000|0000|0000|0000|0000
apang 发表于 2012-10-1 09:54



大大~~ 我錯了~ 沒有書寫清楚 文件內不只這二行~
发表于 2012-10-1 10:04:26 | 显示全部楼层
回复 5# jamiemkin

看在今天过节的份上,原谅你了,下不为例!
  1. @echo off
  2. set "AA=Bat"
  3. set "BB=Home"
  4. (for /f "tokens=1* delims==" %%a in (a.txt) do (
  5.   if /i not "%%a"=="IP" (
  6.     if /i not "%%a"=="文件ID" (echo,%%a=%%b
  7.     ) else echo,%%a=%BB%
  8.   ) else echo,%%a=%AA%
  9. ))>b.txt
复制代码
 楼主| 发表于 2012-10-1 10:23:15 | 显示全部楼层
回复  jamiemkin

看在今天过节的份上,原谅你了,下不为例!
apang 发表于 2012-10-1 10:04


大大 看在今天过节的份上 再幫我一下~ 我試運行了這代碼出現了三个問題~ 1. 在其它行的" ] " 的符号後面出了 "="的符号   2. 原有的空白行不見了~  3. "ID"= 的部份沒被%BB% 替換~ ID的後續部份和%BB%  是有 "|" 的符号存在的~  不知道是不是這樣原因    ID=0000|0000|0000|0000|0000|0000|0000|0000
发表于 2012-10-1 10:29:09 | 显示全部楼层
回复 7# jamiemkin

把a.txt完整内容贴出来,或作为附件传上来
 楼主| 发表于 2012-10-1 13:28:30 | 显示全部楼层
回复  jamiemkin

把a.txt完整内容贴出来,或作为附件传上来
apang 发表于 2012-10-1 10:29

a.txt 內容

    [DVD]
Path=C:\工作用\CCC.exe
DllName=DXDr.dll
UserName=XXXXX
PassWord=XXXXXXX
SkinIndex=1


[Server]
IP=xxxxxxxxxxxx
ServerPort=8888
文件ID=727495|08D00B172936F3575111DC17

[系统设置]
行为列表=8
排程行为=校正文件
已處理文件数量=38
自动檢查=1
发表于 2012-10-1 13:29:48 | 显示全部楼层
本帖最后由 apang 于 2012-10-1 13:39 编辑
  1. @echo off
  2. set "AA=Bat"
  3. set "BB=123^|456^|789"
  4. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
  5.   set "str=%%b"
  6.   setlocal enabledelayedexpansion
  7.   if /i not "!str:~,3!"=="IP=" (
  8.     if /i not "!str:~,5!"=="文件ID=" (echo,!str!
  9.     ) else echo,文件ID=%BB%
  10.   ) else echo,IP=%AA%
  11.   endlocal
  12. ))>b.txt
复制代码
 楼主| 发表于 2012-10-1 14:21:06 | 显示全部楼层
回复 10# apang

可以用了~~ 謝謝~ 能再幫解另一个文件的批處理操作嗎?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 14:09 , Processed in 0.021593 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表