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 

Изменение атрибута "скрытый" горячими клавишами

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
badboy2001



Joined: 14 Apr 2011
Posts: 1

Post (Separately) Posted: Thu Apr 14, 2011 12:46    Post subject: Изменение атрибута "скрытый" горячими клавишами Reply with quote

Подскажите как с помощью горячих клавиш присвоить значение файлу или папке СКРЫТЫЙ или НЕ СКРЫТЫЕ, не показать клавишей CTRL+H, а именно присвоить
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Thu Apr 14, 2011 13:24    Post subject: Reply with quote

Вопрос для подфорума "Автоматизация". Переносится.
Заголовок неинформативен. Редактируется.
Дальше ждём, если кто-то откликнется и предложит скрипт/батник. Для него создать пользовательскую команду, а уж для неё — клавиши.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Thu Apr 14, 2011 13:29    Post subject: Reply with quote

А что, команда attrib +h не работает?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Thu Apr 14, 2011 13:46    Post subject: Reply with quote

Вахмурка
Конечно, работает.
А чего я кого-то ждать призываю, действительно?

badboy2001
Простейший вариант для двух разных клавиш.
Диалог "Выбор команды". При создании пользовательской команды а поле "Команда" указать attrib +h и в поле "Параметры" %P%N. Сохранить, например, под именем em_HideOn. Как теперь клавиши назначить, разберёмся?
Ну и вторую команду для attrib -h — соответственно. Будет, скажем, em_HideOff. Только горячая клавиша понадобится уже другая.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Thu Apr 14, 2011 23:20    Post subject: Reply with quote

Code:
@echo off &chcp 1251 >nul &setlocal enableextensions
for /f "delims=:" %%s in ('attrib "%~1"') do call :c "%~1" %2 "%%s"
goto :eof
rem Переключение атрибута файла
rem Автор: Tol!k
rem Пример параметров: %P%N r
:c
set "attr=%~3"
echo,"%attr:~0,-2%" |findstr /ic:%2 &&attrib -%2 %1 ||attrib +%2 %1
goto :eof
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Sat Apr 16, 2011 18:12    Post subject: Reply with quote

Tol!k
Отличный скрипт! Работает со всеми атрибутами.
Но я бы в вызов attrib добавил /L — то есть работать с самой символьной ссылкой, а не с целевым файлом.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sat Apr 16, 2011 19:14    Post subject: Reply with quote

XP ругается на недопустимый ключ и не работает. У кого Vista и новее могут дописать ключ
Code:
for /f "delims=:" %%s in ('attrib "%~1" /l') do call :c "%~1" %2 "%%s"
...
echo,"%attr:~0,-2%" |findstr /ic:%2 &&attrib -%2 %1 /l ||attrib +%2 %1 /l
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Tue Apr 26, 2011 13:45    Post subject: Reply with quote

Мои 5 копеек - vbs-скрипт:
Code:
'=====================================================================
' Изменение атрибута у отмеченных файлов и папок (файлов в них)

' Параметры:
' {файл-список} {битовый флаг атрибута} [{режим}]
' где {режим} может принимать значения:
'     0 - смена атрибута (по умолчанию),
'     1 - установка атрибута,
'     2 - снятие атрибута.
' Наиболее часто используемые значения {битовый флаг атрибута}:
'     1 - только чтение,
'     2 - скрытый,
'     4 - системный,
'     32 - архивный.

' Пример параметров вызова из TC (установка атрибута "Скрытый"):
' %L 2 1

' Автор - Batya
'=====================================================================

Option Explicit
Dim FSO, StreamFile, Selected, CurrFolder, Attr, Mode
Set FSO = CreateObject("Scripting.FileSystemObject")
With WScript
  Set StreamFile = FSO.OpenTextFile(.Arguments(0), 1)
  Attr = .Arguments(1)
  If .Arguments.Count < 3 Then
    Mode = 0
  Else
    Mode = CInt(.Arguments(2))
  End If
End With
Do While Not StreamFile.AtEndOfStream
  Selected = StreamFile.ReadLine
  If FSO.FileExists(Selected) Then
    ChangeAttr FSO.GetFile(Selected)
  End If
  If FSO.FolderExists(Selected) Then
    Set CurrFolder = FSO.GetFolder(Selected)
    ChangeAttr CurrFolder
    FolderProcess CurrFolder
  End If
Loop
'MsgBox("Выполнено!")
Set FSO        = Nothing
Set StreamFile = Nothing
Set CurrFolder = Nothing
Wscript.Quit()

Sub FolderProcess(CurrFolder)
  Dim f
  For Each f in CurrFolder.SubFolders
    ChangeAttr f
    FolderProcess f
  Next
  For Each f in CurrFolder.Files
    ChangeAttr f
  Next
End Sub

Sub ChangeAttr(pFObj)
  With pFObj
    Select Case Mode
      Case 0 .Attributes = .Attributes Xor     Attr
      Case 1 .Attributes = .Attributes Or      Attr
      Case 2 .Attributes = .Attributes And Not Attr
    End Select
  End With
End Sub

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Tue Apr 26, 2011 16:01; edited 1 time in total
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Tue Apr 26, 2011 15:53    Post subject: Reply with quote

Batya
Батником Tol!k-а можно и другие атрибуты править, например, Подлежит индексированию.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Tue Apr 26, 2011 16:03    Post subject: Reply with quote

ApceH
Да я и не настаиваю. Я просто предложил вариант.

Кстати, в описании скрипта исправил опечатку в значениях флага.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group