我对 VBS 很陌生,并尝试从目录中递归地删除只读属性。
它正在删除文件的只读属性,但不删除目录的属性。此外,这些目录中的文件似乎失去了相关的程序链接,现在都显示为未注册的文件类型。任何帮助是极大的赞赏。
更新:我可以看到为什么文件现在失去了关联。这是因为 . 将名称与扩展名分开的名称已被删除!嗬!理想情况下,我只想重命名文件名。
re.Pattern = "[_.]"
re.IgnoreCase = True
re.Global = True
RemoveReadonlyRecursive("T:\Torrents\")
Sub RemoveReadonlyRecursive(DirPath)
ReadOnly = 1
Set oFld = FSO.GetFolder(DirPath)
For Each oFile in oFld.Files
If oFile.Attributes AND ReadOnly Then
oFile.Attributes = oFile.Attributes XOR ReadOnly
End If
If re.Test(oFile.Name) Then
oFile.Name = re.Replace(oFile.Name, " ")
End If
Next
For Each oSubFld in oFld.SubFolders
If oSubFld.Attributes AND ReadOnly Then
oSubFld.Attributes = oSubFld.Attributes XOR ReadOnly
End If
If re.Test(oSubFld.Name) Then
oSubFld.Name = re.Replace(oSubFld.Name, " ")
End If
RemoveReadonlyRecursive(oSubFld.Path)
Next
End Sub