我将外部硬盘驱动器最近受到recycleler.exe病毒的影响,当我借给朋友时。该病毒仅影响外部驱动器。它通过它创建的EXE文件将文件夹更改为这些文件夹的快捷方式。
我正在搜索脚本以将所有快捷方式目标更改为 K:\ {快捷名称} 。但是,我不知道脚本,在最近两天我尝试学习脚本,我不确定应该使用哪一个。 VBScript似乎是最好的选择,但这只是我的观点。
问题: 例如,早些时候我有一个名为'动漫'的文件夹。现在我有一个快捷方式链接到该文件夹,其中包含以下目标:
%windir%\ system32 \ cmd.exe / c“启动%cd%RECYCLER \ 894133bf.exe&&%windir%\ explorer.exe%cd%动漫
该病毒还会创建一个文件夹(和文件) \ RECYCLER \ 894133bf.exe ,快捷方式通过该EXE文件链接(如上所示)。
我想要一个批处理文件将目标路径转换为: K:\动画
这样快捷方式可以直接链接到该文件。当我拿回硬盘驱动器时,诺顿删除了病毒和文件夹。但是,快捷方式仍然存在,除非我更改目标路径,否则它们不起作用。
由于我的硬盘驱动器上有超过37个已转换为快捷方式的文件夹,我当时认为脚本可能对您有所帮助:
我遇到了一个脚本来提取文件名: http://blogs.technet.com/b/heyscriptingguy/archive/2006/05/30/how-can-i-extract-just-the-file-name-from-the-full-path-to-the-file.aspx
但是,我不知道如何将它放在循环中以便为每个文件夹执行此操作。
任何帮助将不胜感激。非常感谢你。
答案 0 :(得分:0)
objFolder.Name是它迭代的每个文件夹的字符串。
Option Explicit
Dim strFolderToSearch, objFSO, objRootFolder, objFolder, colSubfolders, strOutput
strFolderToSearch = InputBox("Enter Path:")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objRootFolder = objFSO.GetFolder(strFolderToSearch)
Set colSubfolders = objRootFolder.SubFolders
For Each objFolder in colSubfolders
strOutput = strOutput & objFolder.name
strOutput = strOutput & vbCrLf
MsgBox StrOutput
Next