批处理之家's Archiver

lifenjoiner 发表于 2010-9-25 22:16

架构便携的三方程序库(+拾遗)

当你发现大量重复工作的规律时,你会选择批处理;当你发现批处理的实用时,你会搜集有用的三方工具;当你有了三方工具后,你会怎么组织它们呢?

这里有两个脚本。

目的:
[color=red]把三方工具组织起来~
跟系统文件分隔放置,附加使用~
尽量少改变系统环境,当然,也可以携带使用~[/color]

前提:GUI用户。

[color=blue]___Sh___.cmd[/color][code]@Echo off
Start %ComSpec% /K "Title %USERNAME%'s shell&Color 06&Prompt $$$G&Setlocal&pushd %~dp0&Call __init__.cmd 2>nul&%*"[/code]作用:
1.个性化
2.切换到当前目录
3.调用__init__.cmd
4.执行参数

[color=blue]__init__.cmd[/color][code]@echo off
pushd %~dp0
path %Path%;%cd%
for /D %%i in (%cd%\*) do call %%i\__init__.cmd 2>nul
popd[/code]作用:
1.将当前目录添加到%Path%
2.执行子目录内的__init__.cmd

用法及功能:
例如:
D:\CLI
├─3rd
├─Script
└─Test
CLI内放___Sh___.cmd和__init__.cmd;
要添加到%Path%的子目录内放__init__.cmd,如3rd、Script;
将___Sh___.cmd的快捷方式放到SendTo。
可以在任意位置发送脚本以执行。

优点:
GUI的CLI有点虚拟机的味道,只是临时添加路径到%Path%,系统设置并没有改变,不增加GUI软件的寻址负担。
三方程序可以放得有组织一些。

扩展:
在此架构上,可以累积其它实用的脚本。

[color=blue]app3rd.cmd[/color][code]@echo off
setlocal
set mark=__init__.cmd
for /f "usebackq delims=" %%d in (`dir /s /b /o:gn %mark%`) do (
pushd %%~dpd
for %%i in (%PATHEXT%) do (
  for /f "usebackq delims=" %%X in (`"dir /b /o:gn  *%%i 2>nul"`)
do echo %%~dpnxX
)
popd
)
endlocal[/code]Hide_Run.vbs
[url=http://www.bathome.net/thread-9483-1-1.html]http://www.bathome.net/thread-9483-1-1.html[/url]

[color=blue]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[/color]

可以发压缩包附件啦,就补充一些坛子里没有搜索到的,又觉得有用的程序。
按字母序,可能不定期添加。

math.exe,计算器。[url]http://bcn.bathome.net/s/tool/index.html?key=math[/url]
nc.exe,Unix移植过来的网络方面的“瑞士军刀”。[url]http://bcn.bathome.net/s/tool/index.html?key=nc[/url]
regjump.exe,打开注册表的对应位置(最配scanreg.exe)。[url]http://bcn.bathome.net/s/tool/index.html?key=regjump[/url]
scanreg.exe,搜索注册表,彩色结果。[url]http://bcn.bathome.net/s/tool/index.html?key=scanreg[/url]
sqlite3.exe,数据库操作,据说很强大。[url]http://bcn.bathome.net/s/tool/index.html?key=sqlite3[/url]

Batcher 发表于 2010-9-25 22:22

另外一个人的想法:采集、下载第三方命令的工具(雏形)
[url]http://bbs.bathome.net/thread-8331-1-1.html[/url]

lifenjoiner 发表于 2010-9-25 22:34

回复 2楼 的帖子

看了。
个人认为,三方工具都是自己实测觉得好用的,才会收集。网路上的东西毕竟不是永久的,要想一次下载完,得靠机缘了吧:)
不过想法不错,我刚写了两个更新杀软病毒库的脚本……:(不是注册用户,得手动更新

Batcher 发表于 2010-9-25 22:45

回复 3楼 的帖子

发个帖子分享一下吧

lifenjoiner 发表于 2010-9-25 23:15

这个所起的作用只是把三方工具组织起来~
跟系统文件分隔放置,附加使用~
尽量少改变系统环境,当然,也可以携带使用~

523066680 发表于 2010-9-26 09:06

回复 3楼 的帖子

~  特想模仿 ubuntu下面那个 apt-get 的统一下载安装的模式,
如果有人维护的话就比较不怕链接失效。不过终究是没做好就放下了。

那个不是一次下载完的,是例如需要的sed.exe时候 getcmd sed.exe

[[i] 本帖最后由 523066680 于 2010-9-26 09:08 编辑 [/i]]

lifenjoiner 发表于 2010-9-26 18:08

回复 6楼 的帖子

我明白你的意思。做一个工具下载地址库,运行的时候检验没有的下载。
不过,建议尽量从各自的官方地址下载是不是好一些?不用自己专门维护程序库吧。

lifenjoiner 发表于 2010-9-29 22:26

这都是自己在用的。也不知有人觉得这个有用或是对这个思路有兴趣没有~

再贴一个列出三方程序的app3rd.cmd (1#),完善一下。

[[i] 本帖最后由 lifenjoiner 于 2010-9-29 22:28 编辑 [/i]]

523066680 发表于 2010-10-1 22:26

回复 1楼 的帖子

建议外链……
反正都是要下载。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.