Board logo

标题: [其他] 【已解决】bat转exe问题求助(感谢flashercs老师) [打印本页]

作者: yyz219    时间: 2022-7-23 12:16     标题: 【已解决】bat转exe问题求助(感谢flashercs老师)

本帖最后由 yyz219 于 2022-7-28 12:05 编辑

【下面是优秀代码】
把vbs 手动保存到TXT.vbs中,内容:
  1. On Error Resume Next
  2. Set objShell=CreateObject("Wscript.Shell")
  3. Set objHTML=CreateObject("htmlfile")
  4. ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")
  5. set fso=wscript.createobject("scripting.filesystemobject")
  6. set file=fso.opentextfile("TXT.$",8,true)
  7. file.writeline ClipboardText
复制代码
然后把TXT.vbs嵌入
嵌入释放到当前目录
而批处理要改成
  1. @echo off
  2. TXT.vbs
  3. set /p TXT=<TXT.$
  4. del TXT.*
  5. if defined TXT start ""  "https://www.baidu.com/s?ie=UTF-8&wd=%TXT%"
  6. exit
复制代码
++++++++++++++++++++++++++++++++++++++++
【下面办法也能够解决问题】
1.将 “百度搜索剪切板内容.bat” 重命名为 “123.bat”【因为它不支持中文】,然后就看图





**********【下面是问题】******************************

工具:BAT转EXEquickbfc.exe
代码:
  1. @echo off
  2. more +8 %0>TXT.vbs
  3. TXT.vbs
  4. set /p TXT=<TXT.$
  5. del TXT.*
  6. if defined TXT start ""  "www.baidu.com/s?ie=UTF-8&wd=%TXT%"
  7. exit
  8. ' 2>nul&@start wscript -e:vbs "%~f0"&goto :eof
  9. On Error Resume Next
  10. Set objShell=CreateObject("Wscript.Shell")
  11. Set objHTML=CreateObject("htmlfile")
  12. ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")
  13. set fso=wscript.createobject("scripting.filesystemobject")
  14. set file=fso.opentextfile("TXT.$",8,true)
  15. file.writeline ClipboardText
复制代码
情况:
运行  生成的.exe,跳出错误:
脚本:        D:\桌面\Desktop\TXT.vbs
行:        1
字符:        1
错误:        无效字符
代码:        800A0408
源:         Microsoft VBScript 编译器错误

而   txt.vbs  里面有一个  ?(我估计问题就在这里)


这个问题怎样解决?谢谢
作者: yyz219    时间: 2022-7-23 17:09

回复 1# yyz219


    打包为RAR自解压文件,不会出现这种情况

就是不知道会不会影响速度?
作者: LJY4.0    时间: 2022-7-23 19:27

这应该是写入时出现错误,导致实际写入到TXT.vbs里的只有一个问号
用RAR自解压文件应该不会影响速度
作者: yyz219    时间: 2022-7-23 19:31

回复 3# LJY4.0


    写入时出现错误,导致实际写入到TXT.vbs里的只有一个问号——————能够解决这个问题吗?

谢谢
作者: idwma    时间: 2022-7-23 22:17

可能是转换后bat内容格式和现在的不一样了
more +8可能就不适用了
作者: yyz219    时间: 2022-7-23 22:58

回复 5# idwma


    有办法解决吗?谢谢
作者: idwma    时间: 2022-7-23 23:29

参照第8行把前面全改了
  1. ' 2>nul&@echo off
  2. ' 2>nul&start wscript -e:vbs "%~f0"
  3. ' 2>nul&set /p TXT=<TXT.$
  4. ' 2>nul&del TXT.*
  5. ' 2>nul&if defined TXT start ""  "www.baidu.com/s?ie=UTF-8&wd=%TXT%"
  6. ' 2>nul&exit
  7. ' 2>nul&@start wscript -e:vbs "%~f0"&goto :eof
  8. On Error Resume Next
  9. Set objShell=CreateObject("Wscript.Shell")
  10. Set objHTML=CreateObject("htmlfile")
  11. ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")
  12. set fso=wscript.createobject("scripting.filesystemobject")
  13. set file=fso.opentextfile("TXT.$",8,true)
  14. file.writeline ClipboardText
复制代码

作者: yyz219    时间: 2022-7-24 07:36

回复 7# idwma


    我试一试先,辛苦了,非常感谢
作者: yyz219    时间: 2022-7-24 07:48

回复 7# idwma

脚本:        D:\桌面\Desktop\000.exe
行:        1
字符:        1
错误:        类型不匹配: 'MZP'
代码:        800A000D
源:         Microsoft VBScript 运行时错误
作者: idwma    时间: 2022-7-24 12:53

回复 9# yyz219


    不会了
作者: flashercs    时间: 2022-7-24 18:01

楼主不会用bat2exe啊;嵌入文件不是这样用的..
把vbs 手动保存到TXT.vbs中,内容:
  1. On Error Resume Next
  2. Set objShell=CreateObject("Wscript.Shell")
  3. Set objHTML=CreateObject("htmlfile")
  4. ClipboardText=objHTML.ParentWindow.ClipboardData.GetData("text")
  5. set fso=wscript.createobject("scripting.filesystemobject")
  6. set file=fso.opentextfile("TXT.$",8,true)
  7. file.writeline ClipboardText
复制代码
然后把TXT.vbs嵌入
嵌入释放到当前目录
而批处理要改成
  1. @echo off
  2. TXT.vbs
  3. set /p TXT=<TXT.$
  4. del TXT.*
  5. if defined TXT start ""  "https://www.baidu.com/s?ie=UTF-8&wd=%TXT%"
  6. exit
复制代码

作者: yyz219    时间: 2022-7-24 20:03

回复 11# flashercs


    我试一试 谢谢
作者: yyz219    时间: 2022-7-24 20:19

回复 11# flashercs


    可行(虽然看不懂),非常感谢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2