ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8887|回复: 15

[原创]关于“隐藏文件夹”引起的一些思考

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-9-17 22:22 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

其实这个问题如果再仔细思考一下,还会有一些其它的收获,比如:

1、 修改folder.htt的方法也不仅限于添加密码,毕竟*.htt文件其实就是HTML程序,在熟悉HTML与VBScripta或JSCript脚本的前提下,我们可发挥的余地还很多!!

既然我前面给的解决方案已有人给出过,那我下面就给一个我的原创—— 将folder.htt的内容全部删除,然后加入下面五行:

<html> <head> <meta http-equiv="refresh" content="1;url=c:"> </head> </html>

保证是在“web视图”下,刷新就可看见效果,当然,直接指向“C”盘太明了,可指向一个文件夹。

2、 如果我要加密的文件在E盘上,我还可以做一个更“绝”的东东,假设我在其它C或D盘上有一个不重要的文件夹,假如就是d:\text吧,

'''==========win98下==================== 在c盘的autoexec.bat中,添加如下语句(如果你觉得autoexec.bat太“显眼”了,你可以在windows目录下找一个或建一个名为winstart.bat的文件写入同样内容。友情提醒:如果这个winstart.bat文件不是你建的而是你找到的,你最好注意一下其中的代码是否有问题):

subst e: d:\text

当机器重启后,E盘的所有东东都“看”不见了。你打开E盘是时,看见的其实是d:\text中的东东。 再写一个解密文件(用记事本写了另存为“解密.bat”即可,也可以需要时直接在MS_dos下运行):

subst e: /d

'''==========win2000\2003下==================== 先建一个“任意文件名.bat”,写入上面的subst e: d:\text,然后在“运行”中运行gpedit.msc,指定开机脚本为“任意文件名.bat”即可。解密的方法同上。

如果你熟悉VBS或JS的话,也可以使用WSH的shell对象的Run方法来做这件事。例如,另存下面代码为VBS脚本:

Set playA = WScript.CreateObject("WScript.Shell") playA.Run("subst e: d:\text",0,true)

注意,如果报错的话,改第二行为: a=playA.Run("subst e: d:\text",0,true)即可

想必解密的VBS代码大家也可以类推出来了吧?

3、上面我们讨论的修改folder.htt模版的方法与使用Subst.exe的方法,其实最好只用在98下。为什么这么说呢?原因很简单——

2000、XP、2003都可以使用NTFS的磁盘格式进行分区,兄弟们,NTFS最大的“卖点”可就是文件(含文件夹)的安全性呀!!在这些系统下,我们还有必要讨论文件的保密了吗?就算你有admonostrators组的权限,而我只是一个User,只要我指定了打开文件或文件夹的权限,你administrator也休想打开!还有必要讨论文件的保密吗? 当然,这又生出另一个问题:同样的用户权限、同样的用户名、同样的密码,在重装机子后,没有证书也同样打不开“曾经是”“自己的”文件与文件夹!

TA的精华主题

TA的得分主题

发表于 2004-9-18 06:02 | 显示全部楼层

为七兄的博学喝彩!我们论坛的发展离不开象七兄这样高手的参与!

我对于脚本语言0值,一无所知尽管WORD中也有脚本编辑器。

送精华!!

[em17][em23]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-9-18 21:59 | 显示全部楼层

谢谢守柔送精华。

上文写完后我才想起最简单的办法是用超级兔子进行加密和隐藏的设置,特此补充说明一下。

本论坛一直没有人讨论过office中的脚本编辑器,包括我在内写脚本都喜欢直接使用记事本而不使用“脚本编辑器”,这不能不说是一个遗憾,守柔兄既然已提到了“脚本编辑器”,我下面就谈一下我的感受。

其实word中的脚本编辑器是一个非常好的东东!如果说VBE是VS系列中VB6(即便在Office2003中仍是VB6)的简版,那么脚本编辑器就是VS系列中InterDev的简版! 我觉得其实用性比之VBA有过而无不及!原因有两点:

1、它不像VBE只能“依附于”程序主体运行,它可以独立于Office之外运行。在office2000中,它叫“Mse.exe”,你搜索到它,就可发现它可以独立运行!

98中默认的地址是“C:\Program Files\Microsoft Visual Studio\Common\IDE\IDE98”,在这个地址的下两级目录 中还能找到VBS与JS、ASP等的帮助文件,都非常有实用价值!! win2000中的地址大家可以类推。(注意是office2000不是XP与2003!)

2、从语言的灵活性上进行比较,VBA要对系统进行操作,就离不开API(比如用Word实现重启与关机),但VBS则不同,它可以直接调用shutdown.exe!!想想看,这就意味着VBS能实现的不仅仅是重启与关机,而可以管理整个局几网内的所有机子,操纵它们的重启或关机!!(其实office中任何一个组件都能进行局域网操作,比如进行磁盘映射或新建文件夹的共享等,但操作起来比直接在“操作系统”中操作麻烦得多!)

事实上,在微软最初的设想中,VBA是VB的子集(用于办公的自动化Office),而VBS是VBA的子集(仅用于office中的outlook),谁知由于VBS易用性,到现在,你如果去问一些专业的程序设计者,VBA他可能不知道,但VBS他不知道就是笑话—— 这似乎也说明了点什么。

最后说一下,如果你是一个web制作者,你经常使用DWMX或其它的“文本程序编辑器”的话(“文本程序编辑器”的最大好处就是代码可彩色显示),你不防可试一下office中的脚本编辑器。它不仅用于写web页也可以写文本文件或JS、VBS、VBE甚至C、H等程序脚本!!

TA的精华主题

TA的得分主题

发表于 2004-9-19 15:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢七兄!

可按照你说的脚本编辑器粗粗看了前几页的帮助,头已大了。

说真的,微软这东西的确是迷人,光是VBA已令我夜不成寐人憔悴,心有余而才不足。

我想七兄所言,一定是贴切的,待有机会,还请七兄不吝赐教!

TA的精华主题

TA的得分主题

发表于 2004-9-19 18:22 | 显示全部楼层

七公真是博学,希望给我们提供些VBS的应用实例。

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-9-20 21:17 | 显示全部楼层
以下是引用sailorgg在2004-9-19 18:22:00的发言:

七公真是博学,希望给我们提供些VBS的应用实例。

“博”是不敢当的,别抬举我,其实我与上面守柔版主一样,是被微软Office这个“野狐精”给迷住了,不由自主地想去探究“她”的秘密。

VBS与VBA结合的例子是现成的,

在你的机子中搜索“Chart.vbs”文件,运行它看看!!

第一次见到这个脚本的人肯定大吃一惊!反正我正是因为吃了一惊,所以才下决心学脚本的。

不过要提醒大伙一下:

如果你的机子安了“超级结巴”,那你就没有必要运行这个脚本了——脚本引擎被改了。

下面是我对这个脚本的修改与补充,可以与你搜到的原代码比较一下。

a = "此脚本使用VBS访问Excel。" b = "VBS范例" Call aaa() Dim A_Exl Set A_Exl = WScript.CreateObject("Excel.Application") A_Exl.Workbooks.Add A_Exl.Cells(1,1).Value = 4 A_Exl.Cells(1,2).Value = 15 A_Exl.Cells(1,3).Value = 30 A_Exl.Range("A1:C1").Select Set A_Chart = A_Exl.Charts.Add() A_Exl.Visible = True A_Chart.Type = -4100 For A = 1 To 180 Step 0.1 A_Chart.Rotation = A Next For B = 179 To 0 Step -0.1 A_Chart.Rotation = B Next A_Chart.Rotation = 24 For C = 45 To -90 Step -0.1 A_Chart.Elevation = C Next For D = -90 To 90 Step 0.1 A_Chart.Elevation = D Next For E = 90 To 10 Step -0.1 A_Chart.Elevation = E Next ' **************************************************** Sub aaa() q = MsgBox(a, 1,b ) If q = 2 Then WScript.Quit End If End Sub

安了超级解巴又想运行脚本的解决办法:去“微软中国”搜索“WSH”下载WSH5·6版(注意下载时win98\2000\XP\2003是有区别的!!同时下载的还有两个东东,其中有一个东东是5·6的帮助文件直接学习其中的FSO对象就什么都明白了!!!!!)

[此贴子已经被作者于2004-9-20 21:30:03编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-9-20 21:41 | 显示全部楼层
今天看到本周《电脑报》的网络通讯版中,有一篇文章将“winstart.bat”的名字搞成“winstat.bat”了,错是错了,但说明这个文件确实是“某些有特殊爱好”的人的最爱。

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-9-20 23:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

直接学习其中的wsh.chm,就什么都明白了。

[此贴子已经被作者于2004-9-22 9:42:50编辑过]

TA的精华主题

TA的得分主题

发表于 2005-6-30 10:38 | 显示全部楼层

曾经见过一本专门介绍windows系统下的vbs脚本编程,中国水利水电出版的,之后又见了同时介绍VBS和js的编程,但深度不够,电子工业出版社。从文件创建、程序调用,注册表修改,控件开发,一直到vbs的软件发布,狂人啊,可惜我只学了个皮儿。一度喜欢用vbscript编程在消息框上画三角形,显示99乘法表,但最终还是放弃了。

msgbox("Hello World!!!")

TA的精华主题

TA的得分主题

发表于 2005-7-1 13:45 | 显示全部楼层
我想用脚本编程做一个文件的更新备份,能跳过相同修改时间的文件。请一枝梅兄帮助!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 10:54 , Processed in 0.038697 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表