标题: [文本处理] 批处理如何删除文本里指定字符前的内容(包括指定字符) [打印本页]
作者: jellyhk 时间: 2008-10-22 18:39 标题: 批处理如何删除文本里指定字符前的内容(包括指定字符)
本帖最后由 pcl_test 于 2016-11-17 13:02 编辑
如何删除文件的规定内容!
例如:
文件里1.txt:
1234566778=3
怎么把3前面的删除?
最后1.txt里就只有3了 怎么搞!
[ 本帖最后由 jellyhk 于 2008-10-22 18:51 编辑 ]
作者: pusofalse 时间: 2008-10-22 18:42
- @echo off
- set /p str=<1.txt
- echo %str:*3=3%
- pause
复制代码
作者: batman 时间: 2008-10-22 18:45
请楼主养成搜索和看教程的习惯,这个问题相信只要知道for /f "tokens= delims="用法的会员
都能解答,详见论坛的相关for教程。
作者: jellyhk 时间: 2008-10-22 18:49
我看完了 for就还是不会哎!
作者: jellyhk 时间: 2008-10-22 18:51
斑竹的不行
作者: pusofalse 时间: 2008-10-22 18:52 标题: 回复 4楼 的帖子
看完了?、、、 之后有自己动手写代码么。
我果真不相信 有付出得不到回报的人。。
只留下最后的3?自己搜索“set 入门”,
[ 本帖最后由 pusofalse 于 2008-10-22 18:54 编辑 ]
作者: batman 时间: 2008-10-22 19:02
- @echo off
- for /f "tokens=2 delims==" %%i in (a.txt) do echo %%i
- pause>nul
复制代码
解释下:
如a.txt中某行字符串为bathome=www.bathome,我们取"="号为字符串的分隔符,将字
符串如此来看bathomew(第一列)分隔符www.bathome(第二列),于是使用上面的代码
便可只列出以"="号为分隔符的字符串中的第二列了www.bathome(忽略了第一列),但是
要注意到当我们所选取的分隔符不同,字符串的分隔就不一样,仍以这个字符串为例,我们
现在来以"b""t""."三个字符来做为分隔符,字符串就可以看成是:分隔符a分隔符home=www
分隔符a分隔符home,那么大家想想如要取得这一字符串中的"www"字符代码要怎么写呢?
[ 本帖最后由 batman 于 2008-10-22 19:05 编辑 ]
作者: jellyhk 时间: 2008-10-22 19:32
batman的可行不过你的是显示 !
自己会改了!
看了你的代码才知道我读了for命令还是没明白 !
你这么一讲到是明白了!通俗!!!!
牛!ke可惜我没加分的权限!嘿嘿-。-
-------------------------------------------------
同样谢谢 上面给我代码的!不过不知道为什么不行!set也能实现?
[ 本帖最后由 jellyhk 于 2008-10-22 19:36 编辑 ]
作者: batman 时间: 2008-10-22 19:37
原帖由 jellyhk 于 2008-10-22 19:32 发表
batman的可行不过你的是显示 !
自己会改了!
看了你的代码才知道我读了for命令还是没明白 !
你这么一讲到是明白了!通俗!!!!
牛!ke可惜我没加分的权限!嘿嘿-。-
------------------------------ ...
自己会改就回答下我楼上提出来的问题吧,学以致用方为高。。。
作者: jellyhk 时间: 2008-10-22 19:51
@echo off
for /f "tokens=3 delims=bt=." %%a in (a.txt) do echo %%a
pause>nul
不知道这样是么
自己多加了个分割 没这个=我就搞不起了 不知道你的是不?
作者: batman 时间: 2008-10-22 20:05
"tokens=2 delims==."
作者: hejinyu 时间: 2008-10-28 21:41
我一朋友的电脑类似的问题,他里面的是受系统保护的文件包不能删。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |