|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
16 楼』:
无奈何版主:
之前关于我不能使用添加到收藏夹的原因,我测试下来发现,原从注册表中获取“收藏”文件夹路径那段代码,不能获取Favorites变量,而下面一段代码却不能获得全部路径,我能力有限,请无奈何版主看看还有更好的代码
@echo off
set reg="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "skip=2 tokens=1,* delims=:" %%i in ('reg query %reg% /v "Favorites"') do set Favorites=%%j
echo %Favorites%
echo.
pause
|
第一高手 第二高手
我的小站
|
|
2006-10-3 08:03 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
|
2006-10-3 08:50 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
18 楼』:
又想到了几个实用功能:
1.用fsutil清零文件、文件夹。实在不行用 copy nul 也行
2.转换文档类型,例如论坛老贴里很多vbs脚本 doc2htm htm2txt any2bat bat2exe
3.脚本加密,包括bat的unicode加密,js/vbs的encoder加密和frustrator加密
4.GB2312和UTF-8之间的互相转换,全角/半角的互相转换,GBK、繁体之间的转换,网上有html版的,做成vbs版应该不难
5.英文txt的大小写转换
6.批处理的查看NFO
7.bat js vbs转exe的实用工具,只要安装了 .NET Framework 就可以用vbs实现
9. Google文件名,对于不熟悉的系统文件名很有用,甚至做一个查找文件名后缀的东东,呵呵
10.获得文件的MD5 CRC32 hash值,呵呵,需要第三方软件支持。其实大家想想,这个功能放到“发送到”很实用的,因为平时我们做文件校检都是 打开 winmd5sum.exe,拖放文件,copy所得计算值,这样做久了很烦啊
11.简陋的合并文件功能 copy /b +
12.有可能的话,结合 memcoder和LAME做编码/解码快捷方式
13.Office文档的转换,用 ADODB 做 xls2txt ,即使没有安装excel也可以打开xls文件
14.结合简单的shell技术做文件夹的explorer级别的加密,比如大家熟悉的把一个文件夹伪装成回收站
15.有兴趣的话再做一个 FTP 上传、映射网络驱动器,subst虚拟磁盘,mountdrv fsutil HardLink的快捷方式,^_^
16.我会考虑用WIA做一个转换图片格式的,用TTS做一个文本到语音的转换脚本
其实Windows自带的很多exe还有更加广泛的引用,只要大家思路开阔,没有什么不可以~~
[ Last edited by electronixtar on 2006-10-3 at 10:24 ]
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-10-3 09:18 |
|
|
无奈何
荣誉版主
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第
19 楼』:
Re fastslz
我发现你修改了原始代码,换用原始代码看看,无论我怎么更改 Favorites 的注册表值都屡试不爽。
::set reg="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
set reg="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "skip=2 tokens=2* delims= " %%i in ('reg query %reg% /v "Favorites"') do set Favorites=%%j
echo %Favorites%
echo.
pause Re electronixtar
我是看到在别处有转贴,转贴的不完全,还大呼加密云云,让我哭笑不得。索性还不如自己转一下,我觉得刻意的宣传是没有必要的,因为软件还不完善。如果转贴能让更多的人知道咱们论坛并带来人气的话这样做倒是值得的。如果转贴过多会给更新带来麻烦,可以使用下面的地址:www.songjun.org/SendTo+.zip
|
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
|
|
2006-10-3 09:35 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
|
2006-10-3 09:43 |
|
|
chenall
银牌会员
积分 1276
发帖 469
注册 2002-12-23 来自 福建泉州
状态 离线
|
|
2006-10-3 09:50 |
|
|
tinytiger
新手上路
积分 8
发帖 4
注册 2006-10-3
状态 离线
|
|
2006-10-3 09:56 |
|
|
无奈何
荣誉版主
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第
23 楼』:
Re electronixtar
你18楼的建议我仔细看了。我觉得软件的定位很重要,我想做的是实用的并且能展示批处理魅力的东西,而不是工具拼合的杂集。
相 2、3、4、7、10 等都需要另外嵌入软件。 6、14 等很好我会好好构思一下。像一些编码及文档的转换 VBS 来做很合适,但是没有人来做。接下来我要做的先修复一下现在的版本,脚本基本上没有加入太多的错误处理。
还有我觉得技术的东西加密是没有必要,特别是咱们并不太高明的技术。相反的如果有人能从这里学到更多的东西,我相信他更愿意来逛逛。
|
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
|
|
2006-10-3 10:13 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
24 楼』:
2 3 4 7 可以用纯脚本完成(见老贴),10当然要用第三方工具了,你的原版sendto+还不是用了第三方工具winclip和shortcut的嘛,呵呵。我可以写一个winclip和shoutcut的vbs版,这样我们就可以实现sendto+完全脚本化了
伪装文件夹,我可以提供国内最齐全的方法,^_^
又想到一个:(不要嫌多哈^_^)
17.写一个替换WFP系统文件的,就是批处理室最近讨论那个 replacer.bat
http://www.cn-dos.net/forum/viewthread.php?tid=23453&fpage=2
这个东西最能展现批处理魅力了,个人觉得,呵呵
[ Last edited by electronixtar on 2006-10-3 at 10:27 ]
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-10-3 10:15 |
|
|
无奈何
荣誉版主
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第
25 楼』:
Re electronixtar
我对 VBS 基本一无所知,所以相关的讨论也没有留意。我对编码转换的脚本比较感兴趣,但没有找到论坛里的链接。我自己也写过一个 UTF8 转 GB 的 Gawk 脚本,但是VBS 的话我不知道怎么调用参数。能写一个 winclip和shoutcut的vbs版太好了,我希望能参照原软件提供参数调用接口。还有一点我觉得必须把住,就是嵌入的脚本(cmd 和 vbs的)一定要自己完成的或者论坛朋友们写的并得到授权的或者是开放代码的,千万不能涉及版权问题。
|
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
|
|
2006-10-3 10:47 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
26 楼』:
编码转换是利用一个“字典”的原理做的,所以转换的效果和字典是否足够大有关。
cscript xxx.vbs 参数1 参数2 参数3
Quote: | 能写一个 winclip和shoutcut的vbs版 |
|
没问题~~
在这个论坛学到了这么多东西,开放是我们的义务和责任,我们是学术性质的讨论,又不是商业化的交换,呵呵~~
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-10-3 11:12 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
27 楼』:
Quote: | Originally posted by electronixtar at 2006-10-3 10:15:
2 3 4 7 可以用纯脚本完成(见老贴),10当然要用第三方工具了,你的原版sendto+还不是用了第三方工具winclip和shortcut的嘛,呵呵。我可以写一个winclip咠... |
|
我晕...我也想说加个系统文件替换replacer.bat呢,被你抢先了。electronixtar的思路实在宽阔,实在是佩服....
electronixtar有个通杀各种exe安装程序UniExtract是否也考虑加入
Re无奈何版主
我的代码是在你的原始代码上修改的,2个代码都不能正确定位Favorites,郁闷啊
另外对于 20楼: electronixtar 建议我表示支持
|
第一高手 第二高手
我的小站
|
|
2006-10-3 11:13 |
|
|
无奈何
荣誉版主
积分 1338
发帖 356
注册 2005-7-15
状态 离线
|
『第
28 楼』:
Re electronixtar
谢谢,太好了,写完了让坛子里的其他 VBS 高手提提意见,争取下一次加入。
Re fastslz
你尝试将命令分解一下,先执行
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites" 观察一下输出结果,再调整 for 的执行参数,期待你的处理结果。
UniExtract 好像是用 Autoit 写的,他打包的软件太多了。还有我觉得提供某种方式能让用户自己添加脚本比较合适,因为命令行下的实用软件太多了。如果你自己用的话你可以自己添加脚本并修改 Install.cmd 文件,有问题的话可以跟贴讨论一下。
还有限制加密相关的帖子的问题我已经说过了,如果像我这样的懒人不解压直接用 Winrar 查看的话已经原文呈现了,所以没有什么意义的,再者我的目的也不是不想让人看到源码,顶多是秀一下咱们论坛的技术。
[ Last edited by 无奈何 on 2006-10-3 at 11:55 ]
|
☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
|
|
2006-10-3 11:49 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
29 楼』:
@echo off
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites">测试1.txt
echo.
set reg="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "skip=2 tokens=1,* delims=:" %%i in ('reg query %reg% /v "Favorites"') do set Favorites=%%j
echo %Favorites%>测试2.txt
echo.
::set reg="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
set reg="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "skip=2 tokens=2* delims= " %%i in ('reg query %reg% /v "Favorites"') do set Favorites=%%j
echo %Favorites%>测试3.txt
echo.
pause
Quote: | 测试1.txt
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Favorites REG_SZ E:\TEMP\Favorites |
|
|
第一高手 第二高手
我的小站
|
|
2006-10-3 12:10 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
30 楼』:
set reg="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "skip=2 tokens=1,* delims=REG_SZ" %%i in ('reg query %reg% /v "Favorites"') do set Favorites=%%j
echo %Favorites%>测试4.txt
echo.
Quote: | 测试4.txt
E:\TEMP\Favorites |
|
测试4 Favorites变量是可用的,如果数值类型不是REG_SZ又会出错了:(
[ Last edited by fastslz on 2006-10-3 at 12:22 ]
|
第一高手 第二高手
我的小站
|
|
2006-10-3 12:18 |
|