Board logo

标题: [文本处理] 批处理去除/删除文本每一行行首/开头的数字序列号/特定字符串 [打印本页]

作者: vbgooder    时间: 2017-5-29 16:05     标题: 批处理去除/删除文本每一行行首/开头的数字序列号/特定字符串

本帖最后由 pcl_test 于 2018-3-31 14:17 编辑

txt文本内容 每行 都有
1:
2:
3:
如何把这些 去除,
bst大神支招
作者: bbaa    时间: 2017-5-29 16:10

中文冒号?
是吧
作者: vbgooder    时间: 2017-5-29 16:12

回复 2# bbaa


    对。我给你个例子
1:123
2:1234
3:12345
4:321
5:admin
..........

去掉前面序列号
作者: bbaa    时间: 2017-5-29 16:14

中文冒号?
是吧
作者: vbgooder    时间: 2017-5-29 16:15

回复 4# bbaa


    是冒号
作者: bbaa    时间: 2017-5-29 16:17

回复 5# vbgooder
英文冒号?
作者: bbaa    时间: 2017-5-29 16:17

回复 5# vbgooder

怎么输出
作者: vbgooder    时间: 2017-5-29 16:18

回复 7# bbaa


英文的冒号
作者: 3518228042    时间: 2017-5-29 16:39

  1. //&cls&dir /b *.txt|cscript -nologo -e:jscript "%~f0"&pause&exit
  2. function reStr(file){
  3.     var f = fso.opentextfile(file, 1);
  4.     str = f.ReadAll()
  5.     .replace(/^[0-9]+[::]/mg, '');
  6.     //行首0-9的数字1个或多个加两个冒号中的任意一个,替换为空字符
  7.     f.Close();
  8.     var f = fso.opentextfile(file, 2);
  9.     f.Write(str);
  10. }
  11. var fso = new ActiveXObject('Scripting.FileSystemObject');
  12. while(!WScript.StdIn.AtEndOfStream)reStr(WScript.StdIn.ReadLine());
复制代码
仔细找找,这类文章还是能发现的
作者: bbaa    时间: 2017-5-29 16:46

本帖最后由 bbaa 于 2017-5-30 10:00 编辑
  1. @Rem Made By:Bbaa
  2. @Echo off
  3. @Setlocal enabledelayedexpansion
  4. @Rem Demo
  5. For %%a in (*.txt) do (
  6. (For /f "Tokens=2 delims=:" %%i in (%%~fa) do (
  7. Echo %%~i
  8. ))>%%~fn_输出.txt)
复制代码

作者: ShowCode    时间: 2017-5-30 08:41

回复 10# bbaa


    delims=1 是想表达什么意思?
作者: bbaa    时间: 2017-5-30 10:00

回复 11# ShowCode


    打错
作者: ShowCode    时间: 2017-6-2 22:19

回复 10# bbaa


    %%~fn_输出.txt 这里也不对,没有变量%%n
作者: ShowCode    时间: 2017-6-2 22:23

回复 10# bbaa


    For /f "Tokens=2 delims=:" %%i in (%%~fa) 这种写法不能处理文件名包含空格的情况
作者: 老刘1号    时间: 2017-6-2 22:42

本帖最后由 老刘1号 于 2017-6-5 19:32 编辑

回复 10# bbaa


    路径带空格或特殊字符也不行……
作者: ShowCode    时间: 2017-6-5 19:29

回复 15# 老刘1号


    我知道啊。你直接回复10楼效果好一些。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2