Batya

|
Posted: Mon Mar 06, 2006 17:55 Post subject: |
|
|
Еще кнопочка.
Так получается, что мне по работе часто приходится снимать признак ReadOnly с файлов. В принципе, можно для этого пользоваться и свойствами файлов, и командой изменения атрибутов в TC, но мне совсем не хотелось поднимать какие-либо диалоговые окна. Вот и написал скрипт.
Кнопка:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\RemoveReadOnly.vbs
%L
%COMMANDER_PATH%\Icons\X-Qute.icl,28
Снятие признака Read-Only
-1
|
Соответственно, пути к скрипту и файлу значка у вас могут свои.
Скрипт RemoveReadOnly.vbs:
Code: | '=====================================================================
' Снятие признака Read-Only с отмеченных файлов и папок (файлов в них)
' В параметрах вызова из TC должно быть прописано:
' %L
'=====================================================================
Dim FSO, StreamFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Dim Selected, CurrFile, CurrFolder
Do While Not StreamFile.AtEndOfStream
Selected = StreamFile.ReadLine
If FSO.FileExists(Selected) Then
Set CurrFile = FSO.GetFile(Selected)
If CurrFile.Attributes and 1 Then
CurrFile.Attributes = CurrFile.Attributes - 1
End If
End If
If FSO.FolderExists(Selected) Then
Set CurrFolder = FSO.GetFolder(Selected)
FolderProcess(CurrFolder)
End If
Loop
'MsgBox("Выполнено!")
Wscript.Quit()
Function FolderProcess(CurrFolder)
Dim sf, f
For Each sf in CurrFolder.SubFolders
FolderProcess(sf)
Next
For Each f in CurrFolder.Files
If f.Attributes and 1 Then
f.Attributes = f.Attributes - 1
End If
Next
End Function |
|
|