标题: [文本处理] 一个特殊文件用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 复制代码
作者: 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
加单引号- for /f %%a in ( ‘ type ”%text_name%“’) do .....
复制代码
作者: xpw 时间: 2013-9-6 21:02
- @echo off
- for /f "skip=50 tokens=1-3*" %%a in ('more ^<ERRORLOG.txt') do (
- echo %%a %%b;%%c;%%d
- )>>sql_text.txt
- PAUSE
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |