中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 10:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 刚搜索下以前的帖子,没看懂。删除文本每行最后 查看 745 回复 6
楼 主 刚搜索下以前的帖子,没看懂。删除文本每行最后 发表于 2009-09-02 22:57 ·  中国 广东 深圳 电信
新手上路
积分 5
发帖 5
注册 2009-09-01 22:57
16年会员
UID 151312
性别 男
状态 离线
一个文本文件,想把它里面的每行的最后一个字符 ; 删掉, 再在每行的开头 添加 一个字符串,比如 DB 两个字符。谢谢
2 发表于 2009-09-02 23:25 ·  中国 福建 厦门 电信
初级用户
积分 61
发帖 28
注册 2008-03-01 21:02
18年会员
UID 111818
性别 男
状态 离线
for可以办到
3 发表于 2009-09-03 00:00 ·  中国 北京 西城区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
在行前插入
fr -ric:"^" -t:"db" 1.txt

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
4 发表于 2009-09-03 00:11 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
@echo off
set "文本=a.txt"
set "字串=DB"
set 删除=1

if "%~1" neq "" set "文本=%~1"
findstr /n .* "%文本%" > "%temp%\~tmp"

(for /f "usebackq delims=" %%a in ("%temp%\~tmp") do (
set var=%%a
setlocal enabledelayedexpansion
if "!var:*:=!" neq "" (
set var=!var:*:=!
echo;!字串!!var:~,-%删除%!
) else echo;
endlocal
))>"%文本%"

del "%temp%\~tmp"


[ Last edited by tireless on 2009-9-3 at 04:03 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
jiehi007 +1 2009-09-03 02:19
5 哈哈,谢谢大家给我的帮助, 发表于 2009-09-03 01:02 ·  中国 广东 深圳 电信
新手上路
积分 5
发帖 5
注册 2009-09-01 22:57
16年会员
UID 151312
性别 男
状态 离线
非常感谢你们,可以达到要求了,我再想想还需要什么功能,我再发一新帖。
我把批处理文件和a.txt文件 放一个目录下,能达到要求。我拖动a.txt文件到 批处理文件上,就没变化呢。
能否 再增加一个功能: 在文本每行最后 也加一个字符串,比如 分号 ; ,使每行最后的 ; 都右对齐呢 ?
6 re 5 楼 发表于 2009-09-03 04:06 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
修改了 4 楼代码,可以拖拽了。
如果要在行尾添加,把“echo;!字串!!var:~,-%删除%!”改成“echo;!字串!!var:~,-%删除%!”,但是要对齐有些麻烦...

[ Last edited by tireless on 2009-9-3 at 04:07 ]
7 发表于 2009-09-03 04:13 ·  中国 北京 西城区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
-_-楼上的真贴心啊

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转: