Автоматизация переноса атрибутов и времени изменения файлов
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3 ... 9, 10, 11  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Автоматизация переноса атрибутов и времени изменения файлов Author: oshizelly PostPosted: Tue Sep 04, 2012 14:33
    —
В TC можно "взять" атрибуты файла на активной панели и присвоить их выделенному файлу (или файлам) на пассивной панели. Но делать это долго и неудобно, особенно с клавиатуры: вызвать диалог изменения атрибутов и долго и мучительно прыгать там табом между разными полями ввода и кнопками (поскольку акселераторов не предусмотрено). Та ещё морока...

В 2004-м году уважаемый Volniy написал замечательную утилитку CopyAttr.exe (http://volniy.nm.ru/copyattr.zip) размером 4 KB, которая по такому алгоритму копировала время создания и модификации файлов. Я приделал к ней хоткей через пользовательские команды, и восемь лет с благодарностью вспоминал автора. Однако TC за это время научился работать с юникодными именами файлов, а эта утилита - нет... Опять же появился аналогичный штатный функционал в самом TC, хоть и крайне неудобный в использовании.

Так вот, нельзя ли эту операцию как-то автоматизировать? В идеале, хочется так: жмёшь хоткей или кнопку - и заранее заданные атрибуты (скажем, дата создания и дата модификации файла) переносятся с выделенного файла в активной панели на выделенный файл в пассивной панели.

Заранее спасибо!


Last edited by oshizelly on Wed Sep 05, 2012 21:07; edited 2 times in total

#2:  Author: FlasherLocation: Москва PostPosted: Tue Sep 04, 2012 15:57
    —
Достаточно просто. Вечером могу сделать.

#3:  Author: LonerDLocation: Донецк PostPosted: Tue Sep 04, 2012 16:19
    —
oshizelly
Переложите, пожалуйста, утилитку - указанного сайта уже не существует.

Quote:
Достаточно просто. Вечером могу сделать.

У меня тоже в последнее время созрело желание заиметь такую утилитку или скрипт, но ещё не успел зареквестить Smile
Просьба учесть также возможность копирования не только атрибутов как таковых, но и даты изменения файла, а также переноса атрибутов/времени с указанного файла на несколько выделенных файлов в противоположной панели.

Неплохо бы предусмотреть копирование атрибутов с файла под курсором на все выделенные файлы, которые находятся в той же самой панели (если файлы лежит рядом, то не очень удобно и не очень логично открывать новую панель ради перенесения атрибутов).

#4:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Sep 04, 2012 16:32
    —
LonerD wrote:
Переложите, пожалуйста, утилитку - указанного сайта уже не существует.

Интересно, с чего же я её тогда несколько минут назад благополучно скачал. Wink

#5:  Author: oshizelly PostPosted: Tue Sep 04, 2012 16:52
    —
LonerD wrote:
Просьба учесть также возможность копирования не только атрибутов как таковых, но и даты изменения файла

Собственно, я тоже как раз именно копирование даты просил. И утилита Volniy именно это делала. Да и вряд ли кому-то понадобится копировать с одного файла на другой, например, атрибут System или Hidden Laughing

Остальные просьбы тоже поддерживаю.

#6:  Author: LonerDLocation: Донецк PostPosted: Tue Sep 04, 2012 17:22
    —
Quote:
Интересно, с чего же я её тогда несколько минут назад благополучно скачал.

Это тонкий намёк чтобы я сам прошёл квест? Smile
Я его прошёл.
Просто кликнуть на ссылку в первом посте и скачать, разумеется, не получается - открывается сайт qip.ru и ошибка 404. "Сохранить как" в браузере - сохраняет htm-страничку.
А вот если скопировать адрес ссылки, потом вставить его в новом окошке, - то файл скачивается. Хитро придумано, хотя и не понятно для чего такая хитрость.

#7:  Author: FlasherLocation: Москва PostPosted: Tue Sep 04, 2012 18:09
    —
LonerD wrote:
Просьба учесть также возможность копирования не только атрибутов как таковых, но и даты изменения файла, а также переноса атрибутов/времени с указанного файла на несколько выделенных файлов в противоположной панели.
Да в голове сразу такая мысль промелькнула. Не забывай, что для двух панелей хелпер нужен.
LonerD wrote:
Неплохо бы предусмотреть копирование атрибутов с файла под курсором на все выделенные файлы, которые находятся в той же самой панели (если файлы лежит рядом, то не очень удобно и не очень логично открывать новую панель ради перенесения атрибутов).
Не понял написанное в скобках. Зачем открывать новую панель?

Если есть свободное время, можешь пока потренироваться.

#8:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Sep 04, 2012 18:25
    —
LonerD
У меня, когда я отвечал с работы, как-то квест попроще вышел: именно что просто щёлкнул по ссылке и скачал через Download Master. А вот сейчас так не выходит, надо действительно копировать адрес.
P.S. А вот сейчас опять нормально закачивается... Так что в общем и целом ссылка рабочая.

#9:  Author: LonerDLocation: Донецк PostPosted: Tue Sep 04, 2012 21:16
    —
Quote:
Не понял написанное в скобках. Зачем открывать новую панель?

В запросе была фраза: заданные атрибуты... переносятся с выделенного файла в активной панели на выделенный файл в пассивной панели.

Но если два файла лежат в рядом в одном каталоге, то для такого переноса (с активной панели на пассивную), получается, нужно открывать новую вкладку с этим же каталогом на другой панели. А это уже не очень удобно Rolling Eyes

Я же прошу реализовать возможность переносить атрибуты не только на выделенные файлы пассивной панели, но и на выделенные файлы активной панели (то есть когда файл, с которого считываются атрибуты и файлы, на которые атрибуты переносятся, находятся на одной панели).

#10:  Author: FlasherLocation: Москва PostPosted: Tue Sep 04, 2012 21:41
    —
LonerD
Да я прекрасно понял, о чём ты просишь. Я не понял необходимости открывать новую вкладку в другой панели. Зачем открывать, если уже открыто то, что нужно? По крайней мере мне это так представляется. А выбор панели - это вообще не проблема. Всё будет.

Насчёт сегодня уже не обещаю (вернусь под ночь).

#11:  Author: Tol!kLocation: Арзамас PostPosted: Tue Sep 04, 2012 22:43
    —
Code:
@echo off &setlocal enableextensions
::   Выделенным файлам присвоить атрибуты файла с пассивной панели
::   Параметры:   "%WL" %T%M
::   Автор:   Tol!k

call :attr "%~2"
for /f "delims=" %%f in ('type "%~1"') do attrib %#% "%%f"
goto :eof

:attr
for /f "delims=" %%a in ('attrib "%~1"') do set "attr=%%a"
setlocal enabledelayedexpansion
set "attr=!attr:~0,10!"
for /l %%i in (0,1,9) do set "#=!#! +!attr:~%%i,1! "
endlocal &set "#=%#: + =%"
goto :eof

#12:  Author: oshizelly PostPosted: Wed Sep 05, 2012 11:04
    —
Tol!k
Нельзя ли для менее продвинутых юзеров хотя бы парой слов пояснить, что с этим батником делать? И каковы ожидаемые результаты? На всякий случай обращаю внимание, что речь идёт не столько об атрибутах файла в классическом понимании (A/R/H/S/F), сколько о переносе времени создания и модификации файла на другой файл.

#13:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Sep 05, 2012 15:31
    —
2oshizelly
1) Скопировать это в буфер:
Code:
TOTALCMD#BAR#DATA
c:\user\Batches\CopyAttr.bat
"%WL" %T%M
E:\Windows\System32\imageres.dll,-68
CopyAttr (Выделенным файлам присвоить атрибуты файла с %T)
c:\user\Batches\

-1
2) Навести курсор на свободное место на панели;
3) Правая кнопка мыши и "Paste";
4) Навести крысу на появившуюся кнопку и в меню по правой кнопке выбрать "Change...";
5) Отредактировать путь к батнику, оный к иконке, и описание;
6) Батник Tol!k'а сохранить по соответствующему пути.
7) Установить курсор на файл-образец на пассивной панели;
8) Выделить файл(ы) на активной панели;
9) Нажать кнопку.

Проверил - работает. Tol!k, как всегда, красавец.

#14:  Author: FlasherLocation: Москва PostPosted: Wed Sep 05, 2012 17:04
    —
Вахмурка wrote:
Проверил - работает.
Что работает? Это?:
oshizelly wrote:
заранее заданные атрибуты (скажем, дата создания и дата модификации файла) переносятся

#15:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Sep 05, 2012 17:23
    —
Нет, просто атрибуты. Дата/время не копируются. Да мне и ни к чему. Что же касается "заранее выбранных", то можно один раз наплодить файлов с разными наборами атрибутов (скажем, создать файл rh.ext с атрибутами readonly и hidden), сделать для него кнопочку с вызовом батника и жать при необходимости. То есть будет некое число файлов (недосуг сейчас считать по формулам комбинаторики) и соответствующее число кнопок на панели.
Утилита от Volniy работает только с одним файлом.
И вообще, я тупо излагал содержимое документации тому, кому лень нажать F1.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3 ... 9, 10, 11  Next  :| |:
Page 1 of 11

Powered by phpBB © 2001, 2005 phpBB Group