本帖最后由 apang 于 2013-1-5 16:35 编辑
没楼主说的那么夸张的吧?
WinRAR路径检测貌似有问题呀,我的是HKEY_CURRENT_USER\Software\WinRAR
for循环中用goto的话再也回不来了。。。
install程序段:- @echo off
- :install
- cls
-
- for /f "delims=" %%I in ('dir /b/s/on *.rar') do (
- "%RarPath%" x -y -ibck "%%I" *.txt "%%~nI\PAKS\"
- "%RarPath%" x -y -ibck "%%I" *.man "%%~nI\PAKS\"
- "%RarPath%" x -y -ibck "%%I" *.pak "%%~nI\PAKS\"
- "%RarPath%" x -y -ibck "%%I" *.bin "%%~nI\PAKS\"
- pushd "%%~nI\PAKS\"
-
- If exist "ALI213.txt" (
- call :MakeVBS
- (for /f "skip=60 delims=" %%a in (ALI213.txt.ansi.txt) do (
- echo;%%a
- ))>$
- del /q "ALI213.txt" "ALI213.txt.ansi.txt"
- )
- for /f "delims=" %%a in ('dir /b/s/on *.txt') do (
- (echo;&echo;)>>$
- (for /f "usebackq delims=" %%b in ("%%a") do (
- echo;%%b
- ))>>$
- del /q "%%a"
- )
- move $ "%%~nI_说明.txt"
- popd
- )
- pause
- rem goto Menu
-
- :MakeVBS
- >"utf8ansi.vbs" (
- echo.set fso = CreateObject^("Scripting.FileSystemObject"^)
- echo.'U8ToU8Bom "ALI213.txt" '如果要生成一个有BOM的文件,启用此行
- echo. U8ToAnsi "ALI213.txt"
- echo.function U8ToU8Bom^(strFile^)
- echo.dim ADOStrm
- echo.Set ADOStrm = CreateObject^("ADODB.Stream"^)
- echo.ADOStrm.Type = 2
- echo.ADOStrm.Mode = 3
- echo.ADOStrm.CharSet = "utf-8"
- echo.ADOStrm.Open
- echo.ADOStrm.LoadFromFile strFile
- echo.ADOStrm.SaveToFile strFile ^& ^".u8.txt^", 2
- echo.ADOStrm.Close
- echo.Set ADOStrm = Nothing
- echo.end function
- echo.function U8ToAnsi^(strFile^)
- echo.dim ADOStrm
- echo.dim s
- echo.Set ADOStrm = CreateObject^("ADODB.Stream"^)
- echo.ADOStrm.Type = 2
- echo.ADOStrm.Mode = 3
- echo.ADOStrm.CharSet = "utf-8"
- echo.ADOStrm.Open
- echo.ADOStrm.LoadFromFile strFile
- echo.s = ADOStrm.ReadText
- echo.ADOStrm.Position = 0
- echo.ADOStrm.CharSet = "gbk"
- echo.ADOStrm.WriteText s
- echo.ADOStrm.SetEOS
- echo.ADOStrm.SaveToFile strFile ^& ^".ansi.txt^", 2
- echo.ADOStrm.Close
- echo.Set ADOStrm = Nothing
- echo.end function
- )
- cscript /NoLogo "utf8ansi.vbs"&del /q "utf8ansi.vbs"
复制代码
|