找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25615|回复: 7

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

[复制链接]
发表于 2013-9-6 11:04:35 | 显示全部楼层 |阅读模式
一个sql server 产生的日志文件,可以用文本打开,但批处理无法读取,复制成文本格式后缀也不行
请教如何处理呢?
发表于 2013-9-6 11:32:20 | 显示全部楼层
标准的unicode文档,没啥奇特之处,记事本打开无忧,

卖拙作:
powershell中有世界上最好的编码处理技术   
http://www.bathome.net/thread-25683-1-3.html
 楼主| 发表于 2013-9-6 12:56:46 | 显示全部楼层
回复 2# PowerShell
但批处理不能读取是怎么回事呢?
发表于 2013-9-6 13:21:52 | 显示全部楼层
回复 3# OBJ_feye
  1. type ERRORLOG.txt
复制代码
 楼主| 发表于 2013-9-6 15:04:48 | 显示全部楼层
回复 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
 楼主| 发表于 2013-9-6 15:09:27 | 显示全部楼层
type加到前面也不行
发表于 2013-9-6 16:59:29 | 显示全部楼层
回复 6# OBJ_feye

加单引号
  1. for /f %%a in  ( ‘ type ”%text_name%“’) do   .....
复制代码
发表于 2013-9-6 21:02:47 | 显示全部楼层
  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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 00:19 , Processed in 0.020147 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表