Board logo

标题: [文本处理] [已解决]文本处理的问题发这里来,我帮你 [打印本页]

作者: 狗屁不通    时间: 2012-8-24 15:02     标题: [已解决]文本处理的问题发这里来,我帮你

本帖最后由 狗屁不通 于 2012-8-24 19:19 编辑

在下批处理学习10天有余,仅想借此机会练练手
关于文本处理的问题尽管发上来,在下赴汤蹈火,在所不辞!

速度发,在下定会倾囊相助!


本帖中:在下只用sed和awk。。。


==========================
      活动已经结束
==========================

作者: canyuexiaolang    时间: 2012-8-24 15:34

只用第三方可不好。话说想用第三方先把for /f学精通了再说吧。
对我来说第三方神马的都是浮云。
因为不是每个人都能有第三方的。
作者: 狗屁不通    时间: 2012-8-24 16:11

回复 2# canyuexiaolang


    自带的它不支持UTF-8呀
因为文本里有多国文字,转换到ANSI会丢失一些字符,所以用wfr或concmd转码的时候都会变成乱码。
总不能打开notepad手动转码吧?
作者: canyuexiaolang    时间: 2012-8-24 17:00

回复 3# 狗屁不通


话说你可以去百度知道。那里有很多文本处理的求助。


仅仅用for就可以了。用第三方倒也可以。但是人家首选肯定是不需要第三方的呀
作者: xt0883    时间: 2012-8-24 17:12

@echo off
echo 请先将*.txt重命名为1.txt并和批处理在同一目录下,文档里的文件名不能在同一行并要有后缀名
set /p lj=请输入要拷贝到的路径(X:\文件夹):
md "%lj%"
for /f "skip=1" %%i in ('^(wmic logicaldisk where drivetype^='3' get name^)') do (echo 正在%%i\中搜索......
  echo %%i|findstr ":">nul&&(
    for %%j in (1.txt) do (
      for /f "delims=" %%a in (%%j) do (
        for /f "delims=" %%b in ('dir /a /b /s "%%i\%%a"') do (
          for /f "tokens=1-3" %%i in ('attrib "%%b"') do (
            echo %%i|findstr /i "\<s\> \<h\> \<sh\>">nul&&(attrib -s -h "%%b"&set abc==)
            echo %%j|findstr /i "\<s\> \<h\> \<sh\>">nul&&(attrib -s -h "%%b"&set abc==)
            echo %%k|findstr /i "\<s\> \<h\> \<sh\>">nul&&(attrib -s -h "%%b"&set abc==)
          )
          if %%j equ 1.txt copy "%%b" "%lj%"
   
          if defined abc (attrib +s +h "%%b"&set abc=)
        )
      )
    )
  )
)
pause


for /f "skip=1" %%i in ('^(wmic logicaldisk where drivetype^='3' get name^)')改为for  %%i in (c d e f g)后用不了,还要修改哪里吗,请指教下,谢谢
作者: forfiles    时间: 2012-8-24 18:15

http://www.bathome.net/thread-18721-1-1.html
试试这个
作者: Demon    时间: 2012-8-24 20:05

很厉害的样子




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