分类: C/C++
2008-04-02 14:49:16
近日下载的电影、连续剧比较多,磁盘空间又不太够,每个盘都摆了不少东西,结果在C盘看完第2集,可能要找到I盘才找得到第3集。后来想到在硬盘上的任何地方,都可以用发送到桌面快捷方式的方法在桌面创建指向文件和文件夹的快捷方式。但我不喜欢桌面充满凌乱的图标,那能不能搞一个类似发送到桌面快捷方式,不过是发送到我指定的文件夹,如“H:\Movie”这样的东东呢?先看看桌面快捷方式这个文件,发现这个文件大小为0字节,再用UltraEdit打开,发现其真正的文件是是“桌面快捷方式.desklink”,原来奥妙在扩展名上,只要扩展名为.desklink,前面的文件名不管是什么,所创建的快捷方式都是放在桌面上的。看来这种方法是行不通了。但是这么一点小东西不太想拿VC,DELPHI之类的屠龙刀出来搞。刚好这几天看了WSH方面的文章,就查查资料,很快就搞出来了。只要将下面的内容保存为CreateMyShortCut.vbs(当然其他的名字也是可以的,扩展名则必须为vbs),根据个人需要修改目标文件夹strDestination,并将其放在 SendTo目录下,就可以将任意的文件夹、文件的快捷方式发送到下面strDesination指定的文件夹了。
''=========================================================== '' '' NAME:'' '' AUTHOR: Ivan Chen , Zsu '' DATE : 2003-5-12 '' '' COMMENT: '' ''============================================================= Const strDestination = "H:\Movie\" Set objArgs = WScript.Arguments Set WshShell = WScript.CreateObject("WScript.Shell") For i = 0 to objArgs.Count - 1 '' Loop through all arguments. strShortCut = strDestination & "\" & GetAName(objArgs(i)) & ".lnk" set oShellLink = WshShell.CreateShortcut(strShortCut) oShellLink.TargetPath = objArgs(i) oShellLink.WindowStyle = 1 ''oShellLink.Description = "Created By Ivan Chen" oShellLink.WorkingDirectory = Left(objArgs(i), InStrRev(objArgs(i), "\")) oShellLink.Save Next Function GetAName(DriveSpec) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") GetAName = fso.GetFileName(DriveSpec) End Function ''end