Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Обмен кнопками 
Author Message
Batya



PostPosted: Mon Mar 06, 2006 17:55    Post subject: Reply with quote

Еще кнопочка.
Так получается, что мне по работе часто приходится снимать признак 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
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group