Board logo

标题: [文本处理] 一个特殊文件用BAT读不出来,可以用文本打开,如何处理? [打印本页]

作者: OBJ_feye    时间: 2013-9-6 11:04     标题: 一个特殊文件用BAT读不出来,可以用文本打开,如何处理?

一个sql server 产生的日志文件,可以用文本打开,但批处理无法读取,复制成文本格式后缀也不行
请教如何处理呢?
作者: PowerShell    时间: 2013-9-6 11:32

标准的unicode文档,没啥奇特之处,记事本打开无忧,

卖拙作:
powershell中有世界上最好的编码处理技术   
http://www.bathome.net/thread-25683-1-3.html
作者: OBJ_feye    时间: 2013-9-6 12:56

回复 2# PowerShell
但批处理不能读取是怎么回事呢?
作者: terse    时间: 2013-9-6 13:21

回复 3# OBJ_feye
  1. type ERRORLOG.txt
复制代码

作者: OBJ_feye    时间: 2013-9-6 15:04

回复 4# terse



谢谢你的提示,我第一次处理是type出来新的文件,然后for读取新的文件,在生成指定文件,命令如下

    @echo off

( type ERRORLOG)>>new_errorlog.txt
  (for /f "skip=50 tokens=1-3*" %%a in (         new_errorlog.txt ) do (
        echo %%a %%b;%%c;%%d
    ))>>sql_text.txt
        PAUSE


然后我想不生成中间文件,直接读取,想用到变量来实现,脚本如下,但不能生成,
    @echo off
        set text_name=ERRORLOG

  (for /f "skip=50 tokens=1-3*" %%a in (         type %text_name% ) do (
        echo %%a %%b;%%c;%%d
    ))>>sql_text.txt
        PAUSE
作者: OBJ_feye    时间: 2013-9-6 15:09

type加到前面也不行
作者: terse    时间: 2013-9-6 16:59

回复 6# OBJ_feye

加单引号
  1. for /f %%a in  ( ‘ type ”%text_name%“’) do   .....
复制代码

作者: xpw    时间: 2013-9-6 21:02

  1. @echo off
  2. for /f "skip=50 tokens=1-3*" %%a in ('more ^<ERRORLOG.txt') do (
  3.         echo %%a %%b;%%c;%%d
  4.     )>>sql_text.txt
  5.         PAUSE
复制代码





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