中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何将txt文本文件的utf-8编码转换成unicode编码!!
« [1] [2] »
作者:
标题: [求助]如何将txt文本文件的utf-8编码转换成unicode编码!! 上一主题 | 下一主题
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 16 楼』:  

论坛有。。。自己搜索.

2008-5-18 23:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mkd
初级用户





积分 109
发帖 30
注册 2007-9-5
状态 离线
『第 17 楼』:  

使用方法:
        點兩下 或 拉文件進來
       
如果用這兩種方法以外的其他方法來使用,可能會發生錯誤
@echo off
if "%~1" == "" goto main


set "wfiles=%cmdcmdline:"=%"
call set "wfiles=%%wfiles:*%~d0=%%"
call set "wfiles=%%wfiles:*%~d1=%%"
call set "wfiles=%%wfiles: %~d1=" "%~d1%%"
set wfiles="%~d1%wfiles%"

if "%cmdcmdline:~0,3%" == "cmd" call :ddd %wfiles%
if not "%cmdcmdline:~0,3%" == "cmd" set wfiles=%*
goto main

:ddd
cd/d "%~dp1"
goto :eof

::--------------------------------------------------------------
:main



echo 1        GB2312
echo 2        Big5
echo 3        Shift_JIS
echo 4        EUC-KR
echo 5        UTF-8
echo 6        Unicode
echo.
echo A --^> B       
echo A=? (1-6)
set /p aaa=
echo B=? (1-6)
set /p bbb=

echo %aaa%|findstr /be "[1-6]" >nul ||goto :eof
echo %bbb%|findstr /be "[1-6]" >nul ||goto :eof
if "%aaa%" == "%bbb%" goto :eof

if not defined wfiles set /p wfiles=Files???
if not defined wfiles  goto :eof


echo Set objFSO = CreateObject("Scripting.FileSystemObject") > MakeBOM.vbs
echo Set objFile = objFSO.CreateTextFile("Unicode.BOM",,true) >> MakeBOM.vbs
cscript //Nologo MakeBOM.vbs

md After_Convert\tmp



:loop
set vvv=%aaa%
if "%aaa%" == "6" set vvv=%bbb%

for /f "tokens=%vvv%" %%a in ("936 950 932 949 65001") do (
        reg add "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /v CodePage /t REG_DWORD /d %%a /f >nul
)

if not "%aaa%" == "6" (
        if not "%bbb%" == "6" (
        start /wait /min cmd /u /c "for %%a in (%%wfiles%%) do copy Unicode.BOM tmpfile.tmp&type "%%~fa" >> tmpfile.tmp&move /y tmpfile.tmp After_Convert\tmp\"%%~nxa""
        set aaa=6
        set wfiles=After_Convert\tmp\*
        goto loop
        )
)


if "%bbb%" == "6" (
        start /wait /min cmd /u /c "for %%a in (%%wfiles%%) do copy Unicode.BOM tmpfile.tmp&type "%%~fa" >> tmpfile.tmp&move /y tmpfile.tmp After_Convert\"%%~nxa""
        ) else (
        start /wait /min cmd    /c "for %%a in (%%wfiles%%) do type "%%~fa" >  After_Convert\"%%~nxa"")



reg delete "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /v CodePage /f >nul
del MakeBOM.vbs
del Unicode.BOM
rd After_Convert\tmp /s /q
start After_Convert
[ Last edited by mkd on 2008-6-2 at 10:35 PM ]

2008-6-2 15:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjjgq
初级用户





积分 39
发帖 27
注册 2007-9-10
状态 离线
『第 18 楼』:  

高手,我真是太吃惊了,学习也学不过来了

2009-12-2 17:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: