hgy命令行程序集
做与电脑相关的工作,做得久了,经常发现自己在不停地做着重复的工作,有时还有很多简单繁琐的东西要做,感觉就像一个机器重复不断的做着体力劳动。
网上说写脚本可以实现很多简单繁琐的工作,脚本就像可以按照自己的想法快速组装程序,完成任务,简化不必要的劳动。
linux就是基于这个理念,把脚本,命令行程序发展到了极致。(linux到处都是脚本)
可惜我目前是在windows平台,不懂vbs,只懂得些批处理(批处理语法少,很易懂)。
使用批处理确实发现可以避免一些枯燥的工作,且本人越来越喜欢打命令。
按win+R,打命令,按Enter,一气呵成,不用打开开始菜单,且速度贼快。
使用命令行基本上没有卡的感觉,删除文件,复制文件等,感觉很舒服,很快。
批处理虽好,但没有像linux那样有很多命令行程序帮忙,效果大打折扣。
为了增强效果,提高效率,我学着linux搞了一大把命令行程序来增强windows命令行。
下面一个个介绍。
| 程序 | 运行例 | 说明 |
| 编程工具 | ||
| ccw.bat | ccw a.cpp b.cpp | 类似于cc编译器
需要安装VS |
| gcore.bat | gcore msn.exe | 生成msn的dmp文件,便于调式 |
| initvs.bat | initvs | 这个是初始化vs的环境变量的批处理,所有基于vs的工具都会调用它。
这个不需要手动运行。 如果基于vs的工具运行不正常,那么可能这个批处理没有正确初始化vs环境变量,请自己编辑这个文件,直至正确。 注:这个是基于vs2003的,其他版本的vs需要手工编辑此文件。 |
| lddw.bat | lddw a.exe | 类似于ldd,用于查看程序所依赖的dll
需要安装vs |
| ldw.bat | Ldw a.obj b.obj | 类似于ld,用于link程序
需要安装vs |
| nmw.bat | Nmw. a.obj | 类似于nm
用于查看obj文件的符号 需要安装vs |
| nmw2.bat | nmw2 a.dll | 用于查看dll的导出函数
需要安装vs |
| 系统管理 | ||
| cdx.bat | Cdx D:\ | 与cd相比可以直接跳转到其他盘 |
| cp.bat | cp a.dll b.dll
cp dir1 dir2 |
复制文件或目录 |
| df.exe | df | 查看系统目前磁盘使用状况 |
| findx.exe | findx *.cpp -d D:\ | 类似于linux的find
很强大,可以很容易的将一群文件的文件名写到文本文件。 比如 findx *.cpp -d D:\ >1.txt 就可以将D盘所有的的cpp文件名写到1.txt文件里。 也可以把某个目录里文件的组成结构全部写到文本文件里。 |
| grep.bat | ls|grep aa.txt | 过滤文字 |
| kill.bat | kill msn.exe
kill 2160 |
杀进程,参数可以是进程名或pid |
| ln.exe | Ln notepad.exe txt.exe
ln C:\Windows D:\win |
链接文件或目录
这里链接目录比较有用,不用移动目录,只需要在另一处給这个目录做个链接,另一处就会出现这个目录。 |
| ls.bat | Ls | 列出文件一览 |
| machinfo.exe | machinfo | 查看电脑信息 |
| mv.bat | Mv a.dll b.dll
Mv adir bdir |
移动文件或目录 |
| ps.bat | Ps | 查看当前进程信息,
可以配合grep, 如: Ps|grep msn 就可以直接定位到msn进程 |
| pwd.bat | pwd | 打印当前目录 |
| qsave.exe | Qsave http://hello.com/ -o a.txt
Qsave http://hello.com -d C:\ |
下载http上的东西 |
| reboot.exe | Reboot | 重启 |
| replacestr.exe | replacestr C:\1.csv -r “wo/rni” -r “ta/rni” -o C:\out.csv | 替换文件中的指定字符串 |
| rm.bat | Rm a.exe
Rm adir |
删除文件或目录 |
| shutdownx.exe | shutdownx | 关机 |
| su.exe | su | 切换到管理员 |
| sudo.exe | Sudo notepad | 使用管理员运行notepad |
| whereis.exe | Whereis notepad | 寻找notepad在哪里
搜索位置是path变量 |
| whoami.bat | whoami | 打印当前用户名 |
| xargs.exe | Findx *.tmp|xargs.exe rm {} | 构造参数列表并运行命令。
这个可以和其他程序组合来达到强大的效果。 比如例子:找到所有tmp文件并且删除。 rm {}是xargs将要运行的命令行,每一个参数都会调用这个命令行,命令行中的{}会被替代成一个参数。 参数列表从findx *.tmp得来。 (其实这个是得益于管道符号|,这个符号表示前面的运行输出当作后面的命令行的输入,所以xargs.exe rm {}能够得到好多参数) 再举个例子: 我们做了一堆exe文件给上面打签名,做安装包,搞完后让我们测试能不能打开。 我使用如下命令 Findx *.exe|xargs {} 就可以一个接一个的打开所有exe程序,不用去一个一个点击了。 |
以上大部分bat文件,可以打命令名,会有使用帮助输出
大部分exe文件,可以打命令名加参数–h会有使用帮助输出
以上大部分命令都是仿照linux下的命令,不过功能比不上linux的程序,不过够用了。
所有命令行程序下载链接:hgy命令行程序集
建议将这些程序放在一个目录里,并将目录添加到系统的path环境变量里。
欢迎各位和我交流命令行程序,让我们一起来提供工作效率。

