中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 20:37
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 内容替换相关问题?
可打印版本  755 / 5
第1楼 peterdocter 发表于 2007-03-25 11:38
中级用户 发帖 95 积分 379
内容替换相关问题?
原内容:
[Version]
VersionNo=19.15.42
UpdateDate=2007-03-23
替换格式:
[Version]
VersionNo=RAV06{18.57.10}2007-03-23
UpdateDate=2007-03-23

简单的说就是把VersionNo=xxxxx变成RAV06{18.57.10}+时间
时间是从UpdateDate=2007-03-23可以提取!
我知道用sed之类工具可以很好处理,不过我想在不用系统外其它的工具下实现。不知道是for否则实现?或者结果find或findstr可以吗?注意内容格式须序不能变!
第2楼 kcdsw 发表于 2007-03-25 11:50
中级用户 发帖 179 积分 404


[ Last edited by kcdsw on 2007-3-25 at 11:52 AM ]
第3楼 slore 发表于 2007-03-25 11:52
铂金会员 发帖 2,478 积分 5,212
skip掉[,V然后set整句(U那句)。

输入
echo [Version]
echo VersionNo=RAV06{18.57.10}%UpdateDate%
echo UpdateDate=%UpdateDate%
第4楼 slore 发表于 2007-03-25 11:55
铂金会员 发帖 2,478 积分 5,212
@echo off

FOR /F "skip=2" %%i IN (test.txt) DO set %%i

echo [Version]>test.txt
echo VersionNo=RAV06{18.57.10}%UpdateDate%>>test.txt
echo UpdateDate=%UpdateDate%>>test.txt

pause >nul
第5楼 peterdocter 发表于 2007-03-25 12:46
中级用户 发帖 95 积分 379
slore真是好人,我每次提问大客都数及时回复!:)
不有一点我不明白?%UpdateDate%这个是变量吗?像没有看到set UpdateDate=
什么?而且这个%UpdateDate%的内容哪里提供?是for吗?刚刚想到你是否把UpdateDate=2007-03-23已经制作成 set UpdateDate=2007-03-23,也就是说把字符串变成变量了!够绝!:)
第6楼 kcdsw 发表于 2007-03-25 23:51
中级用户 发帖 179 积分 404
哈哈 这个set写的挺好

想了半天 才想起来 %%i的内容是 UpdateDate=2007-03-23
set %%i 不就等效于 set UpdateDate=2007-03-23

确实厉害
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023