![Board logo](images/default/logo.gif)
标题: 用UltraEdit创建批处理编译环境 [打印本页]
作者: qqjue 时间: 2009-8-11 21:28 标题: 用UltraEdit创建批处理编译环境
经常写批处理的,是不是用NOTEPAD写,然后去CMD下运行,出错,回NOTEPAD修改,保存,再去CMD运行.如果写的批处理很繁琐,要经过很多次调试,那这样就有很多次的保存,切换运行动作.所以我觉得有必要建立一个批处理的环境,简化这些动作.就像用TC编C那样.
其实很简单,就是用Uedit32,添加几个菜单而已.
首先下载个 Uedit32(UltraEdit-32).这个网上很多,这是个16进制的强大的文本编辑器,如果有那些加密的批处理,就是打开乱码的,那请用UltraEdit-32这个打开,一切原型毕露.首先建立一个批处理,一句话就行- @echo off
- call "%1"
- echo.
- pause
复制代码
保存为runbat.bat.在Uedit32里点 高级->工具配置->插入
menu item name : runbat //菜单名称 随便写
command line
:\mycode\runbat.bat %f //选择刚才建立的那个批处理,注意后面的%f
word directory:D:\mycode //工作目录
toolbar bitmap :D:\gcc\r.bmp //工具栏图标,可无
options 里不用选 output里 选show dos box 不选capture output 这样运行会自动开个dos窗口运行的.
也可以不选show dos box 选capture output 和 out put to list box这样运行在后台,结果会传回Uedit32 的output 窗口在最下面,但不能传输入.建议不这样选.
然后点应用,确定.就有一个用户工具1 了
然后点 高级->配置(在高级下第一个)->定制工具栏 在右上新建工具栏那里输入runbat,然后点后面那个符号<-,然后左边那栏里就有runbat了,点一下,再在右面那栏里找 用户工具1 点<-添加到runbat下,确定.这样在Uedit32的工具栏里就有你刚才建立的工具栏了.慢慢找,把它拉到上面显眼的地方去.给它设个快捷键,点高级->配置 在右边里面找 键映射,然后在命令里找advancedusertool1 设个你要用的快捷键.比如F5
一些OK了.
打开个批处理,按F5就可运行,结果不对,修改,再F5就行了.不用保存,自动的.是不是方便很多.
作者: 基拉freedom 时间: 2009-8-11 21:56
顶
学习了 我去试试看
作者: slore 时间: 2009-8-11 22:02
这样的话建议
Edit Plus
比较小巧
作者: 基拉freedom 时间: 2009-8-11 22:14
很实用 弄完了 谢谢了~~
作者: defanive 时间: 2009-8-11 23:56
如此编译环境还是有点落后了。。。
很久以前貌似就有快捷键可以直接运行结果。。。
我们需要的是更高级的功能。。。
例如断点调试,变量列表,实时控制,等等等等。。。
应该有更强大的编译环境。。。
一直希望有人能写出来,不过看来是有点麻烦。。。
作者: netbenton 时间: 2009-8-12 19:59
来个纯批做的。
只要按Ctrl+s或保存,就会自动运行。
- ::用法:在%1给出bat文件名
- @echo off
- if "%~x1" neq ".bat" (set/p file=输入要编辑的批处理文件名:) else (goto :begin)
- if /i "%file:~-4%" neq ".bat" set file=%file%.bat
- %0 %file%
- :begin
- start "" notepad %1
- title [批处理自动测试器] 当前文件:%1
- :loop
- set "att=%~a1"
- if "%att:a=%" neq "%att%" (cls&cmd /c %1&attrib %1 -a) else (ping -n 2 127.1 >nul)
- goto :loop
复制代码
作者: qqjue 时间: 2009-8-15 00:21
- @echo off
- if "%~x1" neq ".bat" (set/p file=输入要编辑的批处理文件名:) else goto :begin
- if /i "%file:~-4%" neq ".bat" set file=%file%.bat
- %0 %file%
- :begin
- start " " notepad %1
- ping -n 4 127.1>nul
- title [批处理自动测试器] 当前文件:%1
- :loop
- set att=%~a1%
- if "%att:a=%" neq "%att%" (cls&cmd /c %1&attrib %1 -a) else (ping -n 1 127.1 >nul)
- goto :loop
复制代码
原帖由 netbenton 于 2009-8-12 19:59 发表 ![](http://bbs.bathome.net/images/common/back.gif)
来个纯批做的。
只要按Ctrl+s或保存,就会自动运行。
::用法:在%1给出bat文件名
@echo off
if "%~x1" neq ".bat" (set/p file=输入要编辑的批处理文件名:) else (goto :begin)
if /i "%file:~-4%" neq ".bat" ...
你这个处理是不是自己也没用过?这个是有问题的,新建一个BAT,磁盘上没有的文件,NOTEPAD打开会有一个会话框,问你是否新建文件,你确定,这个时候你的这个批处理早运行完了,因为没有 %1 这个文件, 所以你的att是没有值的出错退出了. 还有ping -n 1 127.2 时间长了点
修改下能用了 ,不好用哦,要切换,或者显示器够大,摆两个窗口
作者: defanive 时间: 2009-8-15 00:56
呵呵,仅限于测试。。。
不过还挺好用的。。。
更强大的功能估计批处理是无法完成了。。。
作者: netbenton 时间: 2009-8-15 22:02
修正一些bug:
::用法:在%1给出bat文件名
::"c:\notepad.exe" 可以自己选一个喜欢的文本编辑器来用,又不影响原来的notepad.exe
::再建一个快捷方式,并加上快捷键,用起来还真的挺方便的,呵呵!-
- ::用法:在%1给出bat文件名
- @echo off
- set "tit=[批处理自动测试器] "
- set ece=%tit%
- set tg=
- if "%~x1" neq ".bat" (set/p file=输入要编辑的批处理文件名:) else (goto :begin)
- :agin
- if /i "%file:~-4%" neq ".bat" set file=%file%.bat
- %0 %file%
- :begin
- echo;
- pushd "%~dp1"
- if not exist %1 (echo @echo off^&setlocal enabledelayedexpansion>%1)
- set ran=%random%
- echo. >%temp%\bat.bat%ran%
- start /b cmd.exe /c c:\notepad.exe %1^&del %temp%\bat.bat%ran%
- title %tit%当前文件:%1
- :loop
- set "att=%~a1"
- if "%att:a=%" neq "%att%" (
- set/p=%tg%[%time:~,-3%] 运行"%1"<nul
- echo;&echo;
- start /i cmd.exe /c "%1"^&pause
- attrib "%1" -a
- ) else (ping -n 2 127.1 >nul)
- if not exist %temp%\bat.bat%ran% goto :end
- set/p=%tg% %ece%<nul
- set ece=%ece:~1%%ece:~0,1%
- goto :loop
- :end
- set file=&title %tit%请给出文件名,支持拖放
- set/p file=%tg%输入要编辑的批处理文件名:
- if defined file goto :agin
- exit
复制代码
[ 本帖最后由 netbenton 于 2009-8-16 20:16 编辑 ]
作者: defanive 时间: 2009-8-15 23:27
我已经在着手写软件了,能进行断点和变量监视,用起来很舒服。。。
先利其器,专门编写批处理的工具太少了。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |