本帖最后由 lixiaolong 于 2011-1-10 22:27 编辑
大家好,
本人喜欢批处理,所以经常在au3代码里放批处理代码.
但是把批处理转au3是很麻烦的,所以写了这个工具.
支持拖放文件,只支持bat文件.
可以指定转换后的au3代码隐藏窗口实行,最大化窗口实行.
(@SW_HIDE,@SW_MAXIMIZE)
自动建立和原文件同名的au3文件,不删除原文件.
转换例子:
批处理文件
@echo off
:: 出处:http://bbs.wuyou.com/forum.php?mod=viewthread&tid=94384
mode con cols=84 lines=21
title 注册表限制威金、熊猫、金猪病毒运行
color 4f
cls
echo.
echo.
echo 注册表限制威金、熊猫、金猪病毒的运行 for /XP
echo -----------------------------------------------------------------
echo.
echo 此批处理可以限制2007年2月9日前的威金、熊猫、金猪病毒的运行。
echo 比如运行一个SETUP.EXE的熊猫病毒,该病毒会生成c:\WINDOWS\SYTEM32\
echo FuckJacks.exe,由于我限制了FuckJacks.exe的运行,所以不管怎么双击
echo 运行SETUP.EXE,都不能成功运行病毒c:\WINDOWS\SYTEM32\FuckJacks.exe
echo 因而病毒也就起不了作用,等于废了。
echo.
echo 6618 2007年2月10日
echo Modified by JM 07年2月11日
echo.
echo [F] 按 F 键进行注册表限制
echo [U] 按 U 键解除注册表限制
echo [Q] 按其他任意键退出
echo -----------------------------------------------------------------
echo.
set route=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
SET Choice=
SET /P Choice= 请选择要进行的操作:
IF /I '%Choice:~0,1%'=='f' GOTO fix
IF /I '%Choice:~0,1%'=='u' GOTO unfix
exit
:fix
echo.
echo 正在进行免疫操作,请稍侯...
:: 下一句中的 "全盘禁止运行%%i" 可以替换成任意的字符,都能起到全盘禁止运行指定exe的效果
for /f %%i in (list.ini) do (
reg add "%route%\%%i" /v Debugger /t REG_SZ /d 全盘禁止运行%%i /f >nul 2>nul
)
cls
echo.&echo.&echo.&echo.&echo.
echo 已在注册表中限制威金、熊猫、金猪病毒的运行。
echo.
echo 如果已中了此类病毒,运行这个批处理后,请
echo.
echo 重启电脑进行杀毒。
echo.
echo 感谢使用,按任意键退出...
pause>nul
exit
:unfix
echo.
echo 正在解除限制,请稍侯...
for /f %%i in (list.ini) do reg delete "%route%\%%i" /f >nul 2>nul
cls
echo.&echo.&echo.&echo.&echo.&echo.&echo.
echo 已解除注册表中对熊猫、威金、金猪病毒的制限。
echo.
echo 感谢使用,按任意键退出...
pause>nul
转换后(隐藏窗口)
Dim $F = FileOpen(@TempDir & "\新建文本文档.bat", 2)
FileWriteLine($F, '@echo off')
FileWriteLine($F, ':: 出处:http://bbs.wuyou.com/forum.php?mod=viewthread&tid=94384')
FileWriteLine($F, 'mode con cols=84 lines=21')
FileWriteLine($F, 'title 注册表限制威金、熊猫、金猪病毒运行')
FileWriteLine($F, 'color 4f')
FileWriteLine($F, 'cls')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo 注册表限制威金、熊猫、金猪病毒的运行 for /XP')
FileWriteLine($F, 'echo -----------------------------------------------------------------')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo 此批处理可以限制2007年2月9日前的威金、熊猫、金猪病毒的运行。')
FileWriteLine($F, 'echo 比如运行一个SETUP.EXE的熊猫病毒,该病毒会生成c:\WINDOWS\SYTEM32\')
FileWriteLine($F, 'echo FuckJacks.exe,由于我限制了FuckJacks.exe的运行,所以不管怎么双击')
FileWriteLine($F, 'echo 运行SETUP.EXE,都不能成功运行病毒c:\WINDOWS\SYTEM32\FuckJacks.exe ')
FileWriteLine($F, 'echo 因而病毒也就起不了作用,等于废了。')
FileWriteLine($F, 'echo. ')
FileWriteLine($F, 'echo 6618 2007年2月10日')
FileWriteLine($F, 'echo Modified by JM 07年2月11日')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo [F] 按 F 键进行注册表限制')
FileWriteLine($F, 'echo [U] 按 U 键解除注册表限制')
FileWriteLine($F, 'echo [Q] 按其他任意键退出')
FileWriteLine($F, 'echo -----------------------------------------------------------------')
FileWriteLine($F, 'echo.')
FileWriteLine($F, '')
FileWriteLine($F, 'set route=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options')
FileWriteLine($F, 'SET Choice=')
FileWriteLine($F, 'SET /P Choice= 请选择要进行的操作: ')
FileWriteLine($F, 'IF /I ' & "'" & '%Choice:~0,1%' & "'" & '==' & "'" & 'f' & "'" & ' GOTO fix')
FileWriteLine($F, 'IF /I ' & "'" & '%Choice:~0,1%' & "'" & '==' & "'" & 'u' & "'" & ' GOTO unfix')
FileWriteLine($F, 'exit')
FileWriteLine($F, '')
FileWriteLine($F, ':fix')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo 正在进行免疫操作,请稍侯... ')
FileWriteLine($F, ':: 下一句中的 "全盘禁止运行%%i" 可以替换成任意的字符,都能起到全盘禁止运行指定exe的效果')
FileWriteLine($F, 'for /f %%i in (list.ini) do (')
FileWriteLine($F, ' reg add "%route%\%%i" /v Debugger /t REG_SZ /d 全盘禁止运行%%i /f >nul 2>nul')
FileWriteLine($F, ')')
FileWriteLine($F, 'cls')
FileWriteLine($F, 'echo.&echo.&echo.&echo.&echo.')
FileWriteLine($F, 'echo 已在注册表中限制威金、熊猫、金猪病毒的运行。 ')
FileWriteLine($F, 'echo. ')
FileWriteLine($F, 'echo 如果已中了此类病毒,运行这个批处理后,请')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo 重启电脑进行杀毒。')
FileWriteLine($F, 'echo. ')
FileWriteLine($F, 'echo 感谢使用,按任意键退出...')
FileWriteLine($F, 'pause>nul')
FileWriteLine($F, 'exit')
FileWriteLine($F, '')
FileWriteLine($F, ':unfix')
FileWriteLine($F, 'echo.')
FileWriteLine($F, 'echo 正在解除限制,请稍侯... ')
FileWriteLine($F, 'for /f %%i in (list.ini) do reg delete "%route%\%%i" /f >nul 2>nul')
FileWriteLine($F, 'cls')
FileWriteLine($F, 'echo.&echo.&echo.&echo.&echo.&echo.&echo.')
FileWriteLine($F, 'echo 已解除注册表中对熊猫、威金、金猪病毒的制限。 ')
FileWriteLine($F, 'echo. ')
FileWriteLine($F, 'echo 感谢使用,按任意键退出...')
FileWriteLine($F, 'pause>nul')
FileWriteLine($F, '')
FileClose($F)
RunWait(@ComSpec & " /c call " & '"' & @TempDir & "\新建文本文档.bat" & '"' ,"", 0)
FileDelete(@TempDir & "\新建文本文档.bat")
2010/01/09
更新内容:
去掉了无用的空行FileWriteLine($F, '') .
修复了一些问题.
2010/01/10
今天又写了一个批处理转换AU3的工具(测试版).
批处理转换AU3第二版 _BatToAU3ToRun
http://www.autoitx.com/forum.php?mod=viewthread&tid=21101&page=1&extra=#pid254059 |