无忧启动论坛

标题: 批处理文本行列获取方法请教! [打印本页]

作者: yiranlj    时间: 2017-7-21 10:22
标题: 批处理文本行列获取方法请教!
文本内容:
学校     3      106645566  
学校     2        
学校     1     876578890
学校     4      
.......
如上所示文本内容,第二列为序号,第3列数字11位手机号,怎样才能用批处理一次提取有手号的行?相当于删除无手机号的行


作者: slore    时间: 2017-7-21 12:02

  1. findstr  /R /C:"[0-9][0-9]*  *[0-9]" test.txt
复制代码

作者: nttwqz    时间: 2017-7-21 12:09
本帖最后由 nttwqz 于 2017-7-21 12:15 编辑
  1. @echo off
  2. pushd %~dp0
  3. type a.txt | findstr /r "\<[1][34578][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\>" >手机号.txt
  4. pause
复制代码

作者: 5027527    时间: 2017-7-21 12:35
将你的文本内空放在info.txt中,输出结果在ok.txt中,批处理如下:

for /f "tokens=1,2,3* delims= " %i in (info.txt) do (
    if "%k" NEQ "" echo %k >>ok.txt
)
作者: yiranlj    时间: 2017-7-25 14:14
还是这个论坛高手多,谢谢大大们!
作者: 熄灭的烟    时间: 2017-7-26 13:41
5027527 发表于 2017-7-21 12:35
将你的文本内空放在info.txt中,输出结果在ok.txt中,批处理如下:

for /f "tokens=1,2,3* delims= " %i ...

[求助] 批处理全盘搜索指定配置文件,并加载运行。求高手指教!!!
程序文件名:test.exe, 配置文件:test.ini,加载配置文件后启动运行参数:test.exe d:\123\test.ini (备注:这里假设配置文件test.ini在D盘123文件夹下),如果没有就直接启动运行test.exe

批处理如何写个全盘搜索123下面的test.ini文件,如果有就执行test.exe 盘符:\123\test.ini,如果没有就执行test.exe
作者: 5027527    时间: 2017-7-26 17:41
熄灭的烟 发表于 2017-7-26 13:41
[求助] 批处理全盘搜索指定配置文件,并加载运行。求高手指教!!!
程序文件名:test.exe, 配置文件:t ...

@echo off
:main
    call:search inifile
    if "%inifile%" NEQ "" (echo test.exe %inifile%) else (echo test.exe)
    goto:eof

:search
  for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
      if exist %%i:\123\test.ini (set %1=%%i:\123\test.ini&goto:eof) else (set %1=)
  )
  goto:eof
作者: 5027527    时间: 2017-7-26 17:43
把上面内容放在一个mytest.cmd文件里,文件名自己起喔。呵呵。
作者: 熄灭的烟    时间: 2017-7-26 19:25
5027527 发表于 2017-7-26 17:41
@echo off
:main
    call:search inifile

这个test.exe 程序假设在C盘的a文件夹。如果搜索到有test.ini配置文件在D盘123文件夹的话是这样的 c:\a\test.exe d:\123\test.ini (test.exe后面有空格)。
请问高手教我下批处理要怎么写?
作者: 5027527    时间: 2017-7-26 19:58
本帖最后由 5027527 于 2017-7-26 20:00 编辑
熄灭的烟 发表于 2017-7-26 19:25
这个test.exe 程序假设在C盘的a文件夹。如果搜索到有test.ini配置文件在D盘123文件夹的话是这样的 c:\a\t ...


@echo off
:main
    call:search inifile exefile
    if "%inifile%" NEQ "" (echo %exefile% %inifile%) else (echo test.exe)
    goto:eof

:search
  set %1=
  set %2=
  for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
      if exist %%i:\123\test.ini (      
        set %1=%%i:\123\test.ini
        set %2=%%i:\a\test.exe
        goto:eof
      )
  )
  goto:eof
作者: 熄灭的烟    时间: 2017-7-26 20:21
5027527 发表于 2017-7-26 19:58
@echo off
:main
    call:search inifile exefile

保存为bat文件运行没效果,黑窗一跳而过。方便的话能加我扣扣远程帮我看下吗?我的扣扣:67760308
作者: 5027527    时间: 2017-7-26 20:55
熄灭的烟 发表于 2017-7-26 20:21
保存为bat文件运行没效果,黑窗一跳而过。方便的话能加我扣扣远程帮我看下吗?我的扣扣:67760308

你把“echo %exefile% %inifile%”中的echo删除,这个只显示,不执行。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3