中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 16:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理转EXE后生成的VBS为乱码 查看 1,019 回复 4
楼 主 [求助]批处理转EXE后生成的VBS为乱码 发表于 2009-11-22 23:10 ·  中国 福建 厦门 电信
新手上路
积分 4
发帖 4
注册 2008-05-15 16:57
18年会员
UID 118773
性别 男
状态 离线
原代码如下:转EXE之前运行正常,可是转EXE后生成的l1.vbs文件却是乱码了.有没高手知道如何解决???万分感谢

在线获得指定文件内的IP地址后,创建指定程序的快捷方式,参数为取得的IP,接下来运行该快捷方式后删除自身。有没别的好的代码提供也可以做到以上需求呢?

@echo off
<"%~f0" More +14 >C:\WINDOWS\l1.vbs
Setlocal EnableDelayedExpansion
Cscript //NoLogo /E:vbscript C:\WINDOWS\l1.vbs 2>Nul >C:\WINDOWS\l1.txt
for /f "tokens=1" %%i in (C:\WINDOWS\l1.txt) do set cs=%%i
set a=%cd%
set b=C:\WINDOWS\l1.lnk
sc.exe /f:"%b%" /A:C /t:"%a%\L1bin.exe" /p:%cs%
Ping - 1 127.1 >Nul 2>Nul
start C:\WINDOWS\l1.lnk
Ping - 1 127.1 >Nul 2>Nul
del C:\WINDOWS\l1.lnk C:\WINDOWS\l1.vbs C:\WINDOWS\l1.txt
Endlocal
end
Set oDOM = WScript.GetObject("http://myip.html")
Do Until oDOM.readyState = "complete"
WScript.sleep 200
Loop
s=oDOM.documentElement.innerText
Set kumho = New RegExp
kumho.Pattern="(\d+)\.(\d+)\.(\d+)\.(\d+)"
For Each p in kumho.Execute(s)
WScript.Echo p
Next

[ Last edited by fanyulin on 2009-11-23 at 13:05 ]
2 发表于 2009-11-23 09:07 ·  中国 福建 厦门 电信
新手上路
积分 4
发帖 4
注册 2008-05-15 16:57
18年会员
UID 118773
性别 男
状态 离线
没有人帮忙研究一下下吗????
3 发表于 2009-11-25 11:11 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
<"%~f0" More +14 >C:\WINDOWS\l1.vbs

bat是文本格式的14行以后的内容输出为vbs

你装EXE的这个,得到是%~f0是EXE程序本身,不是bat代码文本


你用记事本打开你的EXE找14行以后你觉得能不是乱码么?
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
4 发表于 2009-11-25 11:11 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
自己用echo生成算了。不要偷懒
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
5 发表于 2009-11-25 16:23 ·  中国 福建 厦门 电信
新手上路
积分 4
发帖 4
注册 2008-05-15 16:57
18年会员
UID 118773
性别 男
状态 离线
OK,都这么说了,改ECHO,呵呵,谢啦
论坛跳转: