中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 12:48
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 請文如何將一的檔案中的某一行文字換成你需要的文字
可打印版本  6,162 / 16
第1楼 dosfroum 发表于 2005-12-07 13:04
初级用户 发帖 54 积分 154
請文如何將一的檔案中的某一行文字換成你需要的文字
假如有一檔案 Try.txt內容如下

如果要用批次檔的方次把

這行至換成

這樣子應該要如何寫

謝謝
第2楼 dosfroum 发表于 2005-12-11 10:57
初级用户 发帖 54 积分 154
這個問題應該會有不少人遇到
或者是需要
是太簡單了 還是 無解阿
都沒消沒息的@@
第3楼 Wengier 发表于 2005-12-11 11:29
系统支持 发帖 10,521 积分 27,736
允許使用第三方工具麼?如果允許的話,可以試試XCHANGE之類的工具,一行就可以解決。例如試試這條命令(XCHANGE見附件):

XCHANGE Try.txt "CCC = 13.4" "CCC = 55.33"

附件
XCHANGE.EXE (22.04 KiB)
第4楼 zreo 发表于 2005-12-11 14:30
初级用户 发帖 14 积分 51
有这个工具的应用祥解吗?
第5楼 arding 发表于 2006-01-12 20:18
初级用户 发帖 38 积分 90
第6楼 gmy 发表于 2006-01-13 14:00
版主 发帖 392 积分 1,113
我用 HEXC,只有5KB,比XCHANGE更小巧,但功能简单了一些,够用了。
hexc Try.txt Try.txt "CCC = 13.4" "CCC = 55.33" /u

附件
HEXC.rar (4.21 KiB)
第7楼 vptdosme 发表于 2006-01-14 22:17
初级用户 发帖 32 积分 97
最好不要使用第三方工具,否则无法实现批处理的价值
第8楼 willsort 发表于 2006-01-15 20:06
元老会员 发帖 1,512 积分 4,432
Re vptdosme:

arding 兄在5楼提供的程序,即是 CMD 下没有使用第三方程序,若想在 Win9x/DOS 下实现,则会复杂很多,需要使用文本遍历算法或者利用ASCII汇编器echo出一个类似的替换程序进行替换,除非确有必要,一般不建议采用。
第9楼 dosfroum 发表于 2006-02-16 09:57
初级用户 发帖 54 积分 154
Originally posted by Wengier at 2005-12-11 11:29:
允許使用第三方工具麼?如果允許的話,可以試試XCHANGE之類的工具,一行就可以解決。例如試試這條命令(XCHANGE見附件):

XCHANGE Try.txt "CCC ...

對不起這個方好好像不行
因為 CCC =12.5 #TEST
要是 CCC =12.5 #TEST
每個人修改後的空格數不固定所以我的標題才會寫
修改特定一行資料
而版大提出來的是字串 所以可否幫忙解決一下
謝謝
第10楼 dosfroum 发表于 2006-02-16 10:09
初级用户 发帖 54 积分 154
Originally posted by arding at 2006-1-12 20:18:

這個方式的確可以修改 但是有個問題 他會砍資料 就是當你的空格適用TAB鍵產生的 後段的資料全部砍掉 有辦法克服嗎 謝謝
修改 11b_ATTEN_DUT_PM 這行


原始資料


執行後資料
第11楼 willsort 发表于 2006-02-16 11:45
元老会员 发帖 1,512 积分 4,432
Re dosfroum:

这与 tab 没有什么关系,for /f 缺省时是承认 tab 作为切分符的。主要是因为原程序中遗漏了 %%l 的输出。例句如下:

第12楼 220110 发表于 2006-02-16 22:52
荣誉版主 发帖 313 积分 718
Re willsort:

你的程序有小失误,把分号给丢失了。另,程序没有产生 dosfroum 希望的“执行后资料”;而把后边注释跟进了。
第13楼 willsort 发表于 2006-02-17 09:02
元老会员 发帖 1,512 积分 4,432
Re 220110:

分号确实是我的疏忽,时间所限,没有进行严格的测试。至于注释,我的理解是 dosfroum 兄是希望保留着些注释信息的,至于这些信息失去了原来的对齐效果,那就是 for /f 的局限所在了,可以考虑将%%i %%j %%k %%l 之间的空格改为Tab,但是效果仍然未必十分理想。如果使用 awk 的话,就可以使用类似C语言 printf 的函数来实现文本对齐了。
第14楼 dosfroum 发表于 2006-02-17 15:25
初级用户 发帖 54 积分 154
請問可以改成 除了 那行以外的資料能不去變動嗎
好多空白被拿掉了 不過已經比之前的好很多了
感謝!!

執行前


執行後
第15楼 dosfroum 发表于 2006-02-17 15:44
初级用户 发帖 54 积分 154
對不起
發現另外一個問題
第一格的空白會增加
且值沒有修改到

批次檔


原始檔


批處理後


[ Last edited by dosfroum on 2006-2-17 at 15:45 ]
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023