标题: [文本处理] 批处理如何实现文本编码转换? [打印本页]
作者: tan1967 时间: 2013-5-8 21:28 标题: 批处理如何实现文本编码转换?
文本内容转GB2312
我来了 %ce%d2%c0%b4%c1%cb
一条一行。10万行不卡代码
作者: tmplinshi 时间: 2013-5-8 22:40
本帖最后由 tmplinshi 于 2013-5-8 22:42 编辑
urlencode v1.01 (2013-5-8) (http://bathome.net/viewthread.php?tid=24065)- urlencode -m -gbk < in.txt > out.txt
复制代码
作者: tan1967 时间: 2013-5-9 22:51
2楼的那个不会用给个方便拖动代码
作者: wankoilz 时间: 2013-5-12 11:21
本帖最后由 wankoilz 于 2013-5-12 11:27 编辑
试试vbs吧,十万行还真不知道会等多久,你试试再回复。
假设你文本中的换行符是vbCrLf。只支持拖拽一个文件。
测试环境:Win7- Set fso=CreateObject("scripting.filesystemobject")
- content=fso.OpenTextFile(WScript.Arguments(0)).ReadAll()
- content=Replace(content,"%","")
- content=Replace(content,vbCrLf,"0d0a")
- Set xmldom=CreateObject("microsoft.xmldom")
- Set node=xmldom.createElement("bin-hex")
- node.datatype="bin.hex"
- node.text=content
-
- Set ado=CreateObject("adodb.stream")
- ado.Type=1
- ado.Mode=3
- ado.Open
- ado.Write node.nodeTypedValue
- path=GetPath(WScript.Arguments(0))
- filename=GetFileName(WScript.Arguments(0))
- If fso.FileExists(path&filename) Then fso.DeleteFile path&filename
- ado.SaveToFile path&filename
- Msgbox "over!"
-
- Function GetFileName(str)
- arr=Split(str,"\")
- GetFileName="GBK_"&arr(UBound(arr))
- End Function
-
- Function GetPath(str)
- arr=Split(str,"\")
- For i=0 To UBound(arr)-1
- GetPath=GetPath&arr(i)&"\"
- Next
- End Function
复制代码
作者: BAT-VBS 时间: 2013-5-12 20:07
回复 3# tan1967
下载一个urlencode.exe放在C:\
把你的10万行文本放在C:\in.txt
开始
运行
cmd
cd /d C:\
运行他的那句代码
作者: tmplinshi 时间: 2013-5-13 07:42
本帖最后由 tmplinshi 于 2013-5-13 07:43 编辑
回复 3# tan1967
需要下载 urlencode (http://bathome.net/viewthread.php?tid=24065)- @echo off
- setlocal
-
- if "%~1" == "" (call :input) else (set args=%*)
-
- for %%a in (%args%) do (
- echo "%%~nxa" --^> "%%~nxa.urlencode.txt"
- urlencode -m -gbk < %%a > "%%~a.urlencode.txt"
- )
-
- echo 完毕!按任意键退出...
- pause >nul
- exit /b
-
-
-
- :input
- cls
-
- set args=
- echo 请拖入文本到这里(多个文件用空格分隔)
- echo (使用方法2: 也可以直接拖放到批处理图标上)
- echo,
- set /p args=^>
-
- if defined args (goto :eof) else (goto input)
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |