发表回复 
批处理和AUTOHOTKEY
2011-08-01, 20 : 31
批处理和AUTOHOTKEY
本人是autohotkey新手,,因为本人会一些C/C++,所以除了函数和GUI没去看,其他几乎都认真的看过了一遍,通过10多天的学习,对autohotkey也算有了个全貌的认识。我和各位交流一下自己对DOS批处​理和autohotkey的一些观点。

我认为autohotkey的语言绝对比批处理简单易学,而且autohotkey可以直接调用DOS命令行,所以autohotkey几乎有完全代替批处理的作用。另外​,autohotkey还有许多批处理没有的特性,如GUI,窗口管理,热键等。

呵呵,这些都是我现在的观点,其实我对命令行也只是了解些皮毛,不用说批处理了。用hotkey总共也才写了几百行代码。我只是想和大家多多交流学习,想知道大家对hot​key和命令行的看法,各自的优缺点,因为想更加系统的有目的的学习这些知识。我还觉得,比如在黑客技术方面,autohotkey就代替不了CMD。

如果大家对批处理比较了解,希望能说说批处理和hotkey各自的优缺点和适用范围,即使不了解,有什么想法我们可以互相交流下。谢啦!
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-01, 22 : 18
 
想把Autohotkey发挥好,还是多学学DLLCALL和COM,到时候你会发现Autohotkey有多强大
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-01, 22 : 41
 
那个中文帮助里有关于这两部分的内容吗?我对这个还没概念,需要搜索学习下
2# billy036
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-01, 22 : 49
 
哦,我明白了。一个是调用系统API,一个是嵌入别的语言脚本的,是可以实现很多很多功能,不过我正在学c++,估计以后要实现这些可能还是会往C++方向上走。我觉得用​C++或许会更复杂,不过效率会好些。当然我也期待在一些特殊的应用场合,随便也几句代码就能有很好效果的autohotkey
2# billy036
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-01, 23 : 38
 
每个脚本语言都有自己产生的原因, 譬如批处理, 我们在图形操作系统中看到的命令行继承自 DOS, 目标是实现对系统的管理; 而 AutoHotkey 则不同, 它更倾向于为那些希望在电脑中高效操作的人准备的. 所以并不存在谁代替谁的问题. 我想如果对于脚本的理解到了一定的层次, 在以一种语言为主的情况下, 什么环境或条件该自己实现, 什么情况该调用其他脚本或语言, 自己心里都会很清楚.

AutoHotkey 学习指南 我的帖子
我不生产代码,我只是 AutoHotkey 的搬运工:从官方到中文;从其他语言到 AutoHotkey;有时则把 AutoHotkey 搬运到普通用户面前。
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 12 : 08
 
嗯,我想请问下,autohotkey是否也能实现对系统的管理?按我的想法,如果通过调用%comspec%,应该可以实现DOS下所有功能。
我是想,如果autohotkey和批处理能实现同样的功能,在我已经掌握autohotkey(假设)的情况下,我是不是不应该再花时间去学习批处理或者只学习auto​hotkey不容易实现而批处理容易实现的部分。毕竟现在时间很有限,想更有效的利用时间。
5# amnesiac
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 13 : 37
 
这是个好问题, 一直以来我也在思考. 我只说说我的思考吧, 谬误之处, 欢迎指正.
要实现一种功能, 有时可能我们有多种选择, 例如获取某个目录下的所有文件名称的列表, 可以用 dir 命令或者用 Loop (文件和文件夹), 还可以用 COM; 而有时可能只有一种选择 (对于我们自己所知道的), 对于前面同样的功能, 如果我不知道 dir 命令, 也不知道使用哪个 COM 对象, 那么我们的选择就不多了.

我想对于较普通的功能, 例如字符串处理, 常见的脚本语言都可以进行, 对于其他专用的或更接近任务的一些功能, 可能需要了解更广泛的一些技术, 而这些通常与语言独立的, 例如对于系统管理, 不论使用哪种语言, WMI 都是必须学习的, 进行网络服务管理, 则一定少不了 ADSI. 在可能的情况下, 以一种语言为主, 适当了解其他的语言, 可以在实现普通功能时多一些选择, 在某些时候可能还会用到某些语言的一些特殊功能.

如果确定要学习一种语言, 还是先熟悉其自身的内部命令和函数的功能, 这时想着在这里调用其他的语言有些舍近求远了.

AutoHotkey 学习指南 我的帖子
我不生产代码,我只是 AutoHotkey 的搬运工:从官方到中文;从其他语言到 AutoHotkey;有时则把 AutoHotkey 搬运到普通用户面前。
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 16 : 02
 
你说的话让我受了不少启发,相信你在电脑和编程方面已经有了很长时间的研究。大多数时候,我们完全可以不必要一门语言进行深究,只需对它的全貌和特性了解,比如某个函数,​你知道有这个函数,知道它能实现什么功能,不需要刻意去记,也不用对它的实现做了解。真正要用到它时,我们再翻资料。

所以我现在想围绕批处理和autohotkey来讲讲,因为这两种脚本语言重复性太高所以我甚至怀疑学了autohotkey再熟悉命令行后就可以完全不理会批处理了,因​为批处理就是很多条命令行的集合。但是我又不敢太肯定,所以来这里问问。

另外,脚本语言真的一行就是一条命令吗?有时候命令太长可不可以分两行写,不然的话很不好看,而且要把TXT自动换行去掉,麻烦。

7# amnesiac
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 16 : 43
 
引用:脚本语言真的一行就是一条命令吗?
刚学习时这样看没错, 因为对于大部分情况下都是这样. 深入学习后则会遇到一些特殊情况. 这里以 AutoHotkey 举几个例子:
代码: (全选)
IfEqual, x, 1, Sleep, 1
这里同一行中单纯从命令看有两个, 实际上也可以看成一个, 因为 Sleep 从属于 IfEqual, 可以看成 IfEqual 的一部分.
代码: (全选)
IfEqual, x, 1
Sleep, 1
这里每行都有一个命令, 实际上两行可以看成只有一个命令, 即 IfEqual.

这里可以看出, 一行与一条命令之间没有对应关系. 我们说的一行一般以文本中换行符分隔, 称为物理行, 另一种根据逻辑划分行, 称为逻辑行, 上面两种情况前一个是一行物理行, 后一个是两行物理行, 实际上都可以看成一个逻辑行. 多行物理行看成一个逻辑行的情况, 请参阅 区块.

引用:有时候命令太长可不可以分两行写...
我很少遇到这样的情况, 帮助中说明了把较长的行分成短行的一些方法, 请参阅 把一个过长的行分割成一系列短行.

AutoHotkey 学习指南 我的帖子
我不生产代码,我只是 AutoHotkey 的搬运工:从官方到中文;从其他语言到 AutoHotkey;有时则把 AutoHotkey 搬运到普通用户面前。
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 18 : 19
 
学习了。看来自己还是不够认真,该看的的都没太认真看。
9# amnesiac
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-02, 18 : 56
 
上面这些例子可以看成比较特殊的情况, 在熟悉相应命令时了解就行了, 不需要太在意.

AutoHotkey 学习指南 我的帖子
我不生产代码,我只是 AutoHotkey 的搬运工:从官方到中文;从其他语言到 AutoHotkey;有时则把 AutoHotkey 搬运到普通用户面前。
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2011-08-07, 22 : 33
 
其实我想说 AHK可以完全替代CMD 因为它可以调用CMD
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2012-09-11, 13 : 01
 
来学习了,完全是新手呀
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-01-07, 13 : 37
 
学习了!留个名!
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2013-02-02, 18 : 17
 
类似的东西还有python和perl等,不过如果作为win下的快捷处理(比如窗口管理,自动登录的)就会发现ahk写的比较简洁,好像就是为这个事情做的。amnes​iac说的很对,刻意的用一种语言去取代另外的一种并不明智,cmd至少每台机器都有,如果临时想ping一下什么的,还是它比较方便。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合