Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   Cntrl-Z для предыдущих операций. Возможно ли?? (http://forum.oszone.net/showthread.php?t=335358)

Sapun 16-06-2018 14:36 2818433

Cntrl-Z для предыдущих операций. Возможно ли??
 
Добрый день. Возникла необходимость в выполнении подобных действий. Допустим нужно выделить некоторые файлы XXX по общей маске имени файла в куче папок корневой папки A . Поиском их выделяю и перемещаю куда нибудь. После чего удаляю всё оставшееся содержимое всей папки А.
И тут было бы идеально, если бы Cntrl-Z имел 2й шаг запоминания операции. Возврат в общую папку А всех файлов в той последовательности подпапок уже без удалённых других файлов,в которой они лежали. Но последнее действие будет "Удаление всех файлов из папки А"

Вообщем детально описал что надо. Есть ли подобные инструменты в винде или может софт какой порекомендуете для подобных операций??

Iska 16-06-2018 15:02 2818435

Sapun, на самом деле Вам надо не «выделять искомое-перемещать-удалять оставшееся-вернуть на место»:
Цитата:

Цитата Sapun
нужно выделить некоторые файлы XXX по общей маске имени файла в куче папок корневой папки A . Поиском их выделяю и перемещаю куда нибудь. »

а выделить файлы, не попадающие под маску. Тогда отпадёт какая-либо необходимость в «перемещать…вернуть на место».

В данном случае рекомендую обратить внимание на оператор NOT (регистр оператора имеет значение): Операторы поиска.

Sapun 16-06-2018 16:08 2818439

Iska, Нет. Подразумевается что поиск идет по маске , а другие файлы рандомные в общей папке с кучей подпапок. То есть выдернуть нужные можно поиском по маске и Cntrl-Z возвращает все (в той же структуре ,как лежали в главной папке и подпапках) их в случае перемещения всех из окна с результатами поиска или удаления в корзину.

Нет . Большие объемы много папок и подпапок. И такое нужно проделывать с многими корневыми папками в отдельности.

Нет проблем все по маске выделить и отложить - ПРОБЛЕМА вернуть их в той же последовательности. А удалять сторонние файлы в общем списке найденного так же муторно. нет конкретной маски по поиску их (точнее есть , но их много - следствие много действий поиска и удаления) ,в отличии от нужных

Говоря проще :
1) Есть папка ААА.
2) В ней куча папок с файлами и подпапок с файлами с разными именами.
3) Среди всего этого есть файлы с конкретной маской по поиску, которые нужно сохранить в них ,а остальное удалить. С минимальным количеством телодвижений.
4) Упорядочить как то нужные файлы (с маской ) в общем списке (по поиску маской *, тоесть всех файлов и папок) не получается , т.к. нет уникальных параметров по расширению или имени файла в начале.

Проще говоря если эту папку прицепить к другой виртуальной машине тройное действие
можно сделать удалив содержание корневой другой ОС. Но задача сделать это по нормальному в системе:

а)поиск по маске и перемещение нужных в др место.
б)удаление всех файлов общим поиском с сохранением структуры папок но уже без файлов из другой ОС.
в) возврат перемещённых файлов в той же структуре в папках.

Видимо придётся так поступить, пока решение не будет найдено. Топорный метод как бы ))

Iska 16-06-2018 16:23 2818440

Sapun, да. Вы ищете по отрицанию маски и удаляете всё найденное, которое не попадает под искомую маску.

Например, у меня есть папка «Мои проекты». Предположим, я хочу удалить всё её содержимое, кроме пакетных файлов, скриптов WSH и PowerShell. Я использую следующий фильтр для поиска:
Код:

NOT (*.vbs OR *.cmd OR *.ps1) AND размер:>0
— отфильтровать все объекты, имеющие любое расширение, кроме vbs или cmd или ps1 и имеющие размер, больший нуля. После чего останется только нажать Ctrl-A, Shift-Del.

Iska 16-06-2018 17:48 2818442

Цитата:

Цитата Sapun
3) Среди всего этого есть файлы с конкретной маской по поиску, которые нужно сохранить в них ,а остальное удалить. С минимальным количеством телодвижений. »

Sapun, вот именно для «остальное удалить» и используется маска на исключение. Пример я привёл. Что опять не так?

Busla 16-06-2018 18:20 2818444

Цитата:

Цитата Sapun
может софт какой порекомендуете для подобных операций »

осваивайте PowerShell:
Код:

Get-ChildItem -Path c:\temp -Exclude *.txt -Recurse -File | Remove-Item -WhatIf
он как раз и задумывался для подобных задач

ну или можете в Far'е поизвращаться: найти все файлы в нужном каталоге, вывести на временную панель, там выделить нужное по маске, инвертировать выделение

Iska 16-06-2018 18:59 2818446

Цитата:

Цитата Busla
ну или можете в Far'е поизвращаться: найти все файлы в нужном каталоге, вывести на временную панель, там выделить нужное по маске, инвертировать выделение »

В Far'е не надо извращаться — там ровно так же поддерживаются маски исключения (и регулярки для особо запущенных случаев).

Busla 17-06-2018 13:16 2818508

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

Iska 17-06-2018 14:28 2818513

Цитата:

Цитата Busla
Не знал (хотя и с такой необходимостью и не сталкивался). Век живи - век учись. »

Я сам такой. Казалось бы, вдоль и поперёк знаешь. Ан нет — то одно всплывёт, то другое. То просто банально пропустил что-нибудь новенькое из внедрённого. Я, впрочем, не расстраиваюсь: следует полагать, что ровно так же ранее в том не было нужды. Будет день — будет и пища.


Маски на исключение задаются после масок на включение после символа «|». В моём гипотетическом примере это может выглядеть так:
Скрытый текст
Код:

╔═════════════════════════════ Поиск файла ══════════════════════════════╗
║ Одна или несколько масок файлов:                                      ║
║ *.*|*.vbs;*.cmd;*.ps1                                                ↓║
╟────────────────────────────────────────────────────────────────────────╢
║ Содержащих текст:                                                      ║
║                                                                      ↓║
║ Используя кодовую страницу:                                            ║
║ Автоматическое определение                                            ↓║
╟───────────────────────────────────┬────────────────────────────────────╢
║ [ ] Учитывать регистр            │ [ ] Искать в архивах              ║
║ [ ] Только целые слова            │ [ ] Искать папки                  ║
║ [ ] Искать 16-ричный код          │ [x] Искать в символических ссылках ║
║ [ ] Не содержащих                │ [ ] Искать в альтернативных потоках║
╟───────────────────────────────────┴────────────────────────────────────╢
║ Выберите область поиска:                                              ║
║ С текущей папки                ↓  [ ] Использовать фильтр            ║
╟────────────────────────────────────────────────────────────────────────╢
║      { Искать } [ Диск ] [ Фильтр ] [ Дополнительно ] [ Отмена ]      ║
╚════════════════════════════════════════════════════════════════════════╝


Использование регулярного выражения в масках для нашего гипотетического примера может выглядеть, например, так:
Скрытый текст
Код:

╔═════════════════════════════ Поиск файла ══════════════════════════════╗
║ Одна или несколько масок файлов:                                      ║
/^(?!.*\.(vbs|cmd|ps1)).+$/i                                          ↓║
╟────────────────────────────────────────────────────────────────────────╢
║ Содержащих текст:                                                      ║
║                                                                      ↓║
║ Используя кодовую страницу:                                            ║
║ Автоматическое определение                                            ↓║
╟───────────────────────────────────┬────────────────────────────────────╢
║ [ ] Учитывать регистр            │ [ ] Искать в архивах              ║
║ [ ] Только целые слова            │ [ ] Искать папки                  ║
║ [ ] Искать 16-ричный код          │ [x] Искать в символических ссылках ║
║ [ ] Не содержащих                │ [ ] Искать в альтернативных потоках║
╟───────────────────────────────────┴────────────────────────────────────╢
║ Выберите область поиска:                                              ║
║ С текущей папки                ↓  [ ] Использовать фильтр            ║
╟────────────────────────────────────────────────────────────────────────╢
║      { Искать } [ Диск ] [ Фильтр ] [ Дополнительно ] [ Отмена ]      ║
╚════════════════════════════════════════════════════════════════════════╝


Busla 17-06-2018 14:38 2818515

Iska, огромное спасибо!


Время: 03:21.

Время: 03:21.
© OSzone.net 2001-