[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
说了半天够乱的,
简单一句话: 把%CD%中的 "\" 替换为 "/"
  1. set "filepath=%cd%"
  2. set "filepath=%filepath:\=/%"
  3. reg add "HKEY_CURRENT_USER\00" /v AutoConfigURL /d file:^/^/"%filepath%"/FuckGFW-FreeGate.pac /f
复制代码
测试通过

TOP

下面代码把路径中的所有字符替换成 %x 形式,包括英文.
想还原英文,就再根据ASCII码表替换, 你自己写吧.
不知道VBS又什么好方法.
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. path=%path%;%~dp0.\网络;%~dp0.\command\第三方命令行程序;%~dp0.\command;%~dp0.\源码;%~dp0.\系统备份
  4. ::==============================================================
  5. :start
  6. set "filepath=%cd%"
  7. ::=======生成 HEX ASCII值=========
  8. echo %filepath%>1.txt
  9. for %%a in (1.txt) do set size=%%~za
  10.         if "%size%"=="0" goto end
  11. fsutil file createnew 01.txt %size% >nul
  12. for /f "skip=1 tokens=2" %%a in ('fc /b 1.txt 01.txt') do (
  13. if "%%a"=="0D" goto next
  14. set "pathHEX=!pathHEX!%%%%a
  15. )
  16. :next
  17. ::把%5C也就是"\"替换 为"/"
  18. set "pathHEX=!pathHEX:%%5C=/!"
  19. echo %pathHEX%
  20. reg add "HKEY_CURRENT_USER\00" /v AutoConfigURL /d file:^/^/"%pathHEX%"/FuckGFW-FreeGate.pac /f
  21. ::==============================================================
复制代码

TOP

IE 可以打开  file:///G:/DOS/command/第三方命令行程序  这样的地址
下面格式的地址打不开
file:///G:/DOS/command/%B5%DA%C8%FD%B7%BD%C3%FC%C1%EE%D0%D0%B3%CC%D0%F2

[ 本帖最后由 hfg1977 于 2010-7-13 20:42 编辑 ]

TOP

完成代码,试验通过 ^-^
主程序:
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. path=%path%;%~dp0.\网络;%~dp0.\command\第三方命令行程序;%~dp0.\command;%~dp0.\源码;%~dp0.\系统备份
  4. ::==============================================================
  5. :start
  6. call ASCII_Hex.bat %cd%
  7. set /p strHEX=<strHEX.txt
  8. echo %strHEX%
  9. set "strHEX=%strHEX:\=/%"
  10. reg add "HKEY_CURRENT_USER\00" /v AutoConfigURL /d file:^/^/^/"%strHEX%"/FuckGFW-FreeGate.pac /f
  11. ::==============================================================
  12. :end
  13. ENDLOCAL&echo 按任意键退出&pause>nul
  14. mode con cols=80 lines=25&color 07&graftabl 936>nul
  15. ::mode con cols=80 lines=30&color 07&graftabl 437>nul
  16. goto:eof
复制代码
函数程序:
  1. ::BAT_NAME:        ASCII_Hex.bat
  2. ::格式:                call ASCII_Hex.bat %*
  3. ::返回值:        strHEX.txt
  4. ::调用:                call ASCII_Hex.bat %*
  5. ::                set /p strHEX=<strHEX.txt
  6. ::                echo %strHEX%
  7. @echo off
  8. setlocal enabledelayedexpansion&cls
  9. path=%path%;%~dp0.\网络;%~dp0.\command\第三方命令行程序;%~dp0.\command;%~dp0.\源码;%~dp0.\系统备份
  10. ::==============================================================
  11. set "_20= "        &set "_38=8"        &set "_50=P"        &set "_68=h"
  12. set "_21="        &set "_39=9"        &set "_51=Q"        &set "_69=i"
  13. set "_22="        &set "_3A=:"        &set "_52=R"        &set "_6A=j"
  14. set "_23=#"        &set "_3B=;"        &set "_53=S"        &set "_6B=k"
  15. set "_24=$"        &set "_3C=<"        &set "_54=T"        &set "_6C=l"
  16. set "_25=%%"        &set "_3D=="        &set "_55=U"        &set "_6D=m"
  17. set "_26=&"        &set "_3E=>"        &set "_56=V"        &set "_6E=n"
  18. set "_27='"        &set "_3F=?"        &set "_57=W"        &set "_6F=o"
  19. set "_28=("        &set "_40=@"        &set "_58=X"        &set "_70=p"
  20. set "_29=)"        &set "_41=A"        &set "_59=Y"        &set "_71=q"
  21. set "_2A=*"        &set "_42=B"        &set "_5A=Z"        &set "_72=r"
  22. set "_2B=+"        &set "_43=C"        &set "_5B=["        &set "_73=s"
  23. set "_2C=,"        &set "_44=D"        &set "_5C=\"        &set "_74=t"
  24. set "_2D=-"        &set "_45=E"        &set "_5D=]"        &set "_75=u"
  25. set "_2E=."        &set "_46=F"        &set "_5E=^"        &set "_76=v"
  26. set "_2F=/"        &set "_47=G"        &set "_5F=_"        &set "_77=w"
  27. set "_30=0"        &set "_48=H"        &set "_60=`"        &set "_78=x"
  28. set "_31=1"        &set "_49=I"        &set "_61=a"        &set "_79=y"
  29. set "_32=2"        &set "_4A=J"        &set "_62=b"        &set "_7A=z"
  30. set "_33=3"        &set "_4B=K"        &set "_63=c"        &set "_7B={"
  31. set "_34=4"        &set "_4C=L"        &set "_64=d"        &set "_7C=|"
  32. set "_35=5"        &set "_4D=M"        &set "_65=e"        &set "_7D=}"
  33. set "_36=6"        &set "_4E=N"        &set "_66=f"        &set "_7E=~"
  34. set "_37=7"        &set "_4F=O"        &set "_67=g"        &set "_7F="
  35. ::==============================================================
  36. if not "%*"=="" (set "str=%*") else (set "str=G:\DOS\command\第三方命令行程序")
  37. call:strHEX %str%
  38. exit /b
  39. ::==============================================================
  40. :strHEX
  41. ::=======生成 HEX ASCII值=========
  42. echo %str%>1.txt
  43. for %%a in (1.txt) do set size=%%~za
  44.         if "%size%"=="0" goto end
  45. fsutil file createnew 01.txt %size% >nul
  46. for /f "skip=1 tokens=2" %%a in ('fc /b 1.txt 01.txt') do (
  47. if "%%a"=="0D" goto next
  48. ::echo "!_%%a!"=="%%a"
  49. if not "!_%%a!"=="" (set "strHEX=!strHEX!!_%%a!") else (set "strHEX=!strHEX!%%%%a")
  50. )
  51. :next
  52. echo %strHEX%>strHEX.txt
  53. del 1.txt 01.txt
  54. goto:eof
  55. ::==============================================================
复制代码

[ 本帖最后由 hfg1977 于 2010-7-14 05:40 编辑 ]
1

评分人数

TOP

返回列表