标题: 刚搜索下以前的帖子,没看懂。删除文本每行最后
[打印本页]
作者: jiehi007
时间: 2009-9-2 22:57
标题: 刚搜索下以前的帖子,没看懂。删除文本每行最后
一个文本文件,想把它里面的每行的最后一个字符 ; 删掉, 再在每行的开头 添加 一个字符串,比如 DB 两个字符。谢谢
作者: wdmzjhk
时间: 2009-9-2 23:25
for可以办到
作者: yishanju
时间: 2009-9-3 00:00
在行前插入
fr -ric:"^" -t:"db" 1.txt
作者: tireless
时间: 2009-9-3 00:11
@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 ]
作者: jiehi007
时间: 2009-9-3 01:02
标题: 哈哈,谢谢大家给我的帮助,
非常感谢你们,可以达到要求了,我再想想还需要什么功能,我再发一新帖。
我把批处理文件和a.txt文件 放一个目录下,能达到要求。我拖动a.txt文件到 批处理文件上,就没变化呢。
能否 再增加一个功能: 在文本每行最后 也加一个字符串,比如 分号 ; ,使每行最后的 ; 都右对齐呢 ?
作者: tireless
时间: 2009-9-3 04:06
标题: re 5 楼
修改了 4 楼代码,可以拖拽了。
如果要在行尾添加
;,把“echo;!字串!!var:~,-%删除%!”改成“echo;!字串!!var:~,-%删除%!
;”,但是要对齐有些麻烦...
[
Last edited by tireless on 2009-9-3 at 04:07 ]
作者: yishanju
时间: 2009-9-3 04:13
-_-楼上的真贴心啊