0
我是VBS的新手,嘗試從目錄中遞歸刪除只讀屬性。VBS刪除只讀屬性recursivelty
它刪除文件的只讀屬性,但不刪除目錄。此外,這些目錄內的文件似乎已經丟失了相關的程序鏈接,現在都顯示爲未註冊的文件類型。任何幫助是極大的讚賞。
更新:我可以看到爲什麼文件現在失去了它們的關聯。這是因爲。將名稱與擴展名分隔的名稱已被刪除!衛生署!理想情況下,我只想重命名文件名。
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
這聽起來像一個偉大的的想法,但除了上述腳本,腳本還多一點,我試圖避免命令提示符窗口。 – 2013-03-04 15:26:59
我添加了一個腳本從VBScript靜默運行它。它會一直等到命令準備就緒後,如果您想繼續使用腳本(並且不想等待),請將最後一個參數從「true」更改爲「false」。 – AutomatedChaos 2013-03-04 15:32:05
這不是賄賂,是嗎?搜索模式最好用正則表達式來完成。我在第二次編輯中添加了代碼。請享用! (這是一個對現在被刪除的評論的迴應,這是關於如何替換文件名中的所有句點而沒有最後一個擴展名) – AutomatedChaos 2013-03-04 16:20:38