[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决]批处理怎样获取当前路径并更改路径格式后写入注册表?

  1. @echo off
  2. tasklist|find /i "FreeGate.exe" || goto tor
  3. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL /d file:^/^/"%cd%"/**GFW-FreeGate.pac /f
  4. echo.
  5. echo 成功设置为自由门专用PAC代理
  6. PAUSE
复制代码
由于浏览器的关系,不同浏览器对地址的识别也不一样,我这里就需要获取file:///x:/x/x/x.xx这种格式的当前路径并写入注册表。猜想获取路径后替换反斜杠为正斜杠应该可以,但具体不知道怎么做。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

换了个非中文路径,批处理运行后工作正常。不知道有没有什么方法将完整路径中包含的中文路径转换为可识别的格式?看到有个是用C#来转换的,我想要批处转换

[ 本帖最后由 meetyoucrash 于 2010-7-13 17:35 编辑 ]

TOP

现在最大的麻烦是出现中文路径时,直接将带中文路径的值写入注册表后浏览器不识别,浏览器只识别类似%BE%DA类似格式的地址值,不识别中文。感谢楼上的大哥指教替换

TOP

注册表里要写入这样的值file:///G:/DOS/command/%B5%DA%C8%FD%B7%BD%C3%FC%C1%EE%D0%D0%B3%CC%D0%F2

浏览器会自动转换回中文,但如果写入带中文的目录名,浏览器则不能识别
上面的方法试过了,可还是不行。上面那个把整个当前目录的地址全部转换了,我从注册表读取出来的值是只转换中文部分的
格式不对
网络相关/代理
转换成这个格式是:
%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3/%E4%BB%A3%E7%90%86
如果在浏览器中输入这段地址会自动翻译为中文地址

在论坛找到这个代码,转换的完全正确,但是它直接忽略了斜杠,输出的值还是不能直接使用,麻烦你能不能帮忙改一下

::EC_URI.JS::编码URI
@echo off
set JSF="%TMP%\EC_URI.JS"
echo=WScript.echo(encodeURIComponent(WScript.Arguments(0)));>%JSF%
set/pSTR=请输入URI地址(或普通字串):
cscript //nologo %JSF% "%STR%"
pause

[ 本帖最后由 meetyoucrash 于 2010-7-13 22:22 编辑 ]

TOP

直接定义了一个 ASCII 表,太感谢了,只是有很多语句我都不会用,要学习好一段时间呢。
再次致谢……

TOP

返回列表