窄口牛 发表于 2018-9-14 17:14:46

bat转vbs,近似于静默执行bat

@echo off
set route=%cd%
set ravel=
set /p ravel=    请输入要转化的批处理:
set "ravel=%ravel:"=%"
if exist "%ravel%" goto go
:go
for /f "delims=*" %%a in ("%ravel%") do (
cd /d "%%~dpa"
set file=%%~na.vbs
set ffile=%%~nxa
)
copy%ffile% bak%ffile%
for /f "delims=" %%a in ('type %ffile%') do (
set "str=%%a"
setlocal enabledelayedexpansion
echo !str:^"=^"^"!>>temp
endlocal
)
move /y temp %ffile%>nul
echo set fso = createobject("scripting.filesystemobject")>>temp.vbs
echo ' 读取文件>>temp.vbs
echo set stream = fso.opentextfile("%ffile%",1)>>temp.vbs
echo content = stream.readall()>>temp.vbs
echo call stream.close()>>temp.vbs
echo ' 替换字符串>>temp.vbs
echo content = replace(content,"*","♀")>>temp.vbs
echo ' 保存文件>>temp.vbs
echo set stream = fso.opentextfile("%ffile%",2)>>temp.vbs
echo call stream.write(content)>>temp.vbs
echo call stream.close()>>temp.vbs
start /w wscript temp.vbs
del temp.vbs /q
echo set fso=createobject("scripting.filesystemobject")>>%File%
echo set ws=CreateObject("wscript.shell")>>%File%
echo set fw=fso.createtextfile("1.bat",2)>>%File%
for /f "delims=*" %%a in ('type %ffile%') do (
echo fw.writeline("%%a"♂)>>%File%
echo fw.close>>%File%
echo ws.run "cmd /c 1.bat",vbhide,True>>%File%
echo fso.deleteFile "1.bat">>%File%
)
move /y bak%ffile% %ffile%
for /f "delims=" %%a in (%File%) do (
set "str=%%a"
setlocal enabledelayedexpansion
echo !str:♀=*!>>temp
endlocal
)
move /y temp %File%>nul
for /f "delims=" %%a in (%File%) do (
set "str=%%a"
setlocal enabledelayedexpansion
echo !str:♂=^)!>>temp
endlocal
)
move /y temp %File%>nul

窄口牛 发表于 2018-9-15 17:07:43

中间文件全部改到临时文件目录

xujinbiao 发表于 2018-9-14 17:27:49

谢谢分享,支持下载

xman00 发表于 2018-9-14 17:37:05

还得输入?复杂了点呢
杂操作?

窄口牛 发表于 2018-9-14 17:49:29

扔到打开的窗口里

nttwqz 发表于 2018-9-14 20:39:03

哇 楼主会写vbs

窄口牛 发表于 2018-9-14 20:42:47

拼凑的本事还是有的。我这个里面有个问题,就是那个右括号不知道为什么each不出来,没办法绕了个圈。

guies 发表于 2018-9-15 14:37:54

本帖最后由 guies 于 2018-9-15 14:41 编辑

生成的 1.bat 在 temp 下比較好,當前文件夾下當前使用者不一定有寫入的權限,另外一點就是不好看。
還有一點就是 vbs 無法按鼠標右鍵 以系統管理員身份執行

窄口牛 发表于 2018-9-15 14:55:40

vbs权限没有bat权限高,但是bat可以自己提权。生成的文件确实是去temp比较好。

kingshui 发表于 2018-9-15 15:20:45

直接用mshta那招,我习惯。

promrhxq 发表于 2018-9-15 15:55:06

学习了,bat转vbs

nbhai2018 发表于 2018-10-19 10:53:43

谢谢分享。!~~~

9859270@qq.com 发表于 2018-10-25 22:19:40

压缩包密码什么

ydnw2568 发表于 2018-10-26 13:18:40

确实很实用,收下了,谢谢楼主分享 支持!支持!!非常感谢!楼主辛苦了!!,

窄口牛 发表于 2018-10-26 14:34:24

没有密码。

窄口牛 发表于 2019-3-28 08:49:42

没必要转exe,没有什么实际意义,还更容易被报毒。

2011npwjm 发表于 2019-3-28 08:54:34

下载看看,分享一下

Dream漂移 发表于 2019-3-29 15:20:05

学习了,bat转vbs

feelien 发表于 2020-2-5 22:54:08

谢谢楼主的分享!这种分享的精神帮助了很多人~!这个绝对要顶!!!

niceqwer555 发表于 2020-2-13 15:39:48

谢谢分享

niceqwer555 发表于 2020-2-13 15:39:52

谢谢分享

mimixixi 发表于 2020-7-24 19:21:21

kk

zzyclss 发表于 2020-7-25 14:54:42

1111111111111111111111111111111111111

bijiaolan 发表于 2020-7-29 15:30:30

学习了,bat转vbs

水墨轩 发表于 2020-9-13 13:00:04

正需要这个谢谢

水墨轩 发表于 2020-9-13 13:00:35

正需这个感谢分享!

yzw92 发表于 2020-9-16 06:25:03

感谢分享

蓝星明月 发表于 2020-9-16 06:57:00

谢谢!!! 支持!!!谢谢!!! 支持!!!谢谢!!! 支持!!!

smdx 发表于 2020-11-9 13:06:13

非常实用啊,感谢分享了。一直用vbs调用bat隐藏窗口运行。这样方便多了。

tcog 发表于 2020-11-11 21:28:38

多谢多谢了
页: [1] 2
查看完整版本: bat转vbs,近似于静默执行bat