Дублирование файловой структуры в обнулённом виде
Select messages from
# through # FAQ
[/[Print]\]

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

#1: Дублирование файловой структуры в обнулённом виде Author: johngray PostPosted: Sat Mar 21, 2009 20:50
    —
Здравствуйте, форумчане!
По работе, возник вопрос:

1. Можно ли, с помощью TC, создать копию родительской структуры каталогов, где будут находиться файлы с этой структуры, в формате - имя.расширение, но с 0 размером - пустые?

2. Как лучше организовать поиск и удаление дубликатов в структуре, если они могут находиться в разных каталогах, и иметь различные названия, но одинаковый формат и размер?

Хочу выразить Большое спасибо за помощь более опытным пользователям TC, и гуру форума..
Буду ждать ответа..

 !  Avada:
Перенесено с изменением заглавия из "Общих вопросов" в "Автоматизацию".

#2:  Author: D1PLocation: Тбилиси PostPosted: Sat Mar 21, 2009 21:04
    —
johngray wrote:
Можно ли, с помощью TC, создать копию родительской структуры каталогов...

Можно: Копирование "пустой" структуры каталогов с файлами
johngray wrote:
Как лучше организовать поиск и удаление дубликатов в структуре

В инструменте поиска (Alt+F7) перейти на вкладку "Допонительно" и поиграться с опцией "Поиск дубликатов" (если я правильно понял вопрос "по имени" надо снять, "по размеру" и "по содержимому" поставить). Потом, для удобства, можно воспользоваться этим скриптом: Выделение дубликатов после поиска

#3:  Author: johngray PostPosted: Sat Mar 21, 2009 21:21
    —
Спасибо! Буду эксперементировать.. Very Happy

#4:  Author: 790 PostPosted: Sun Mar 29, 2009 20:06
    —
А как создать кучу файлов 0-размера с разными расширениями из списка.txt ?
(а то я уже запарился их по одному делать)

#5:  Author: RodnyLocation: Могилёв, Беларусь PostPosted: Sun Mar 29, 2009 20:26
    —
790
Создание "пустых" копий
Копирование "пустой" структуры каталогов с файлами

#6:  Author: МоторокерLocation: г. Пермь (читается Перьмь) PostPosted: Mon Apr 06, 2009 10:59
    —
Цель какова всех этих действий? Может проще использовать плагин для создания каталога файлов?

#7:  Author: BatyaLocation: Москва, Россия PostPosted: Wed Apr 08, 2009 19:25
    —
790 wrote:
А как создать кучу файлов 0-размера с разными расширениями из списка.txt ?

Не понял, в файле-списке ("список.txt") перечислены расширения или файлы, которые необходимо создать?

#8:  Author: ask PostPosted: Fri Apr 24, 2009 10:40
    —
файлы можно как то отключить? только папки оставить. глубина вложений тоже не регулируется?

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Apr 25, 2009 09:31
    —
ask
В смысле - на получателе отобразить каталожную структуру источника, но без файлов? На оффоруме подробно описано здесь. Вкратце и по-русски - надо в диалоге копирования в поле "Только файлы типа" ввести |*.* или любую заведомо не существующую в исходной папке файловую маску (например, *.!!!). Глубина вложенности не регулируется, копируется вся структура от и до.

#10:  Author: ask PostPosted: Sat Apr 25, 2009 13:54
    —
Avada
Да, именно так.

#11:  Author: nicothin PostPosted: Tue Aug 30, 2011 21:13
    —
Пытаюсь решить ту же задачу: создание в целевой вкладке полной файловой структуры выделенных файлов исходной вкладки.
Способ 1
Ссылка
создал файл, повесил на кнопку, прописал параметры
выделяю несколько файлов и папок, жму кнопку
получаю структуру папок, БЕЗ файлов вообще.
Способ 2
Ссылка
создал кнопку
выделяю файлы, жму
ничего не происходит (на мгновение появляется консольное окошко)

Win 7, 64

Вопрос: как, все же, создать во второй вкладке файловую структуру (папки плюс файлы нулевого размера)?

#12:  Author: FlasherLocation: Москва PostPosted: Tue Aug 30, 2011 21:26
    —
nicothin wrote:
Win 7, 64
Из Run-a: cmd /k fsutil /?

Что пишет?

Можно в первом способе поменять
Code:
    WSH.Run "fsutil file createnew """ & Target & FSO.GetFile(Selected).Name & """ 0", 7, True
на
Code:
    FSO.CreateTextFile(Target & FSO.GetFile(Selected).Name)
а также
Code:
    WSH.Run "fsutil file createnew """ & Tar & FSO.GetFile(f).Name & """ 0", 7, True
на
Code:
    FSO.CreateTextFile(Tar & FSO.GetFile(f).Name)

#13:  Author: nicothin PostPosted: Wed Aug 31, 2011 12:55
    —
Flasher
спасибо, внес предложенные Вами изменения, скрипт создал папки и файлы.

#14:  Author: Crimea PostPosted: Thu Sep 22, 2011 23:48
    —
День добрый, уважаемые!
Чтобы не плодить ещё одну тему, спрашиваю тут.
Вот с помощью приведённых на форуме советов получилось создать структуру каталогов, идентичную исходной, но без файлов.
В исходной структуре в каждом каталоге содержатся файлы с двумя расширениями - к примеру, *.flac и *.mp3
Мне нужно из исходных каталогов перенести в тУ пустую структуру только mp3 файлы. Можно и вручную бы сделать, но файлов много и всё это утомляет. Возможно ли одной командой это сделать? Или сделать так, чтобы из исходного каталога с подкаталогами создать копию с сохранением структуры, но чтобы в там оказались только mp3 файлы?

Немного путано написал, наверное, но как точнее - не знаю.
Спасибо заранее за ответы Smile

#15:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Fri Sep 23, 2011 00:00
    —
Либо я тебя действительно не понял, либо ты не видишь второго поля в диалоге копирования. Называется оно "Only files of this type". Пишешь туда маску и вуаля.

#16:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 23, 2011 00:41
    —
Crimea wrote:
Чтобы не плодить ещё одну тему, спрашиваю тут.

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

#17:  Author: NIK_59 PostPosted: Thu Sep 29, 2011 01:42
    —
Здравствуйте мастера и знатоки ТС.
При переносе с помощью Total Commander (F-6) c флешки 4 Гиг на 8 Гиг (новую) корневые папки видны, а подкаталогов не видно. Контроль содержимого папок - 0. На флешке суммарно 3.63 ГБ есть.
Cначала я копировал папки на новую флешку, проверил, убедился в нормальной работе и начал переносить остальное. Копируемые данные есть, а перенесенные папки пустые - 0 кБ. Информация в основном в виде документов Word и Exel.
Сканировал версией R-Studio 5.4 - картина та же: содержания папок не видно, что дальше делать не знаю.
С уважением и надеждой на Ваши знания ТС. Если можно, ответ упростить для неопытного пользователя пошаговым алгоритмом.

#18:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Thu Sep 29, 2011 10:16
    —
А проводник и/или другие файл-менеджеры что говорят?

#19:  Author: FlasherLocation: Москва PostPosted: Thu Sep 29, 2011 10:25
    —
NIK_59
Зачем в двух темах писать?
Да ещё и оффтоп...

#20:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Sep 29, 2011 10:44
    —
NIK_59
Замечание за нарушение правил форума. Дальнейшее обсуждение — только здесь.

#21:  Author: Skif_off PostPosted: Wed Sep 24, 2014 04:44
    —
Если кто-то, как и я, надумает пользовать %WL, вместо %L при копировании "пустой" структуры каталогов с файлами, то нужно заменить
Code:
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)

на
Code:
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1, False, -1)


Добавлено:
Ай, тоже не дружит с MAX_PATH и даже \\?\ не переварит Sad Или прикручивать проверку if error, или таки смотреть AutoIt.

#22:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Sep 25, 2014 12:06
    —
Ого, fsutil, это же права админа нужны... Помнится, я создавал пустые файлы из батника командой вида set ok=>file.ext.
А со сверхдлинными именами файлов вообще мало кто дружит. Хотя, попробовал сейчас set ok=>\\?\d:\file.ext - работает.

#23:  Author: Skif_off PostPosted: Thu Sep 25, 2014 12:59
    —
MVV
Можно поподробнее? С циклами в батниках у меня беда. И такое использование set вроде недокументировано, хотя выглядит логично.
MVV wrote:
попробовал сейчас set ok=>\\?\d:\file.ext - работает

Консоль вроде всегда дружила с UNC-путями Smile А вот с некоторыми символами - нет: куча проблем как-то вылезли с "&", в итоге плюнул и всё переименовал на всякий случай Smile) Здесь, наверное, то же самое будет?
MVV wrote:
Ого, fsutil, это же права админа нужны...

Flasher предложил исправления, только в статью они не попали почему-то.
У меня ещё MkFileSize.exe лежит, как-то думал приспособить её (на MAX_PATH не проверял), т.к. отказался от скрипта сначала - думал, для него нужен Script Helper ActiveX, недавно только начал побольше понимать Smile
MVV wrote:
А со сверхдлинными именами файлов вообще мало кто дружит.

 Hidden text

#24:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Sep 25, 2014 13:53
    —
Проблема с префиксом \\?\, что с ним путь к папке вообще не чистится, не удаляются лишние пробелы и точки в конце и т.п., поэтому при простом добавлении префикса ко вроде бы рабочему пути к папке можно получить полный бред.

Я когда-то использовал такой вариант:
Code:
@echo off
if -%2==- echo Parameters required: %%WF "%%T" & pause & goto :EOF
if -%1==-go goto go
echo Nuller by MVV. Version 2.1
echo.
for /f "usebackq delims=" %%f in (`type %1`) do call %0 go "%%f" %2
pause
goto :EOF

:go
if -%3==- goto :EOF
if -%4==-D goto go_dir
if not -%4==-F if exist %2\* goto go_dir

if exist %3\%2 goto :EOF
set Nuller=%2>"%~3\%~2"
echo %~3\%~2
goto :EOF

:go_dir
if not exist %3\%2 md %3\%2
for /d %%d in (%2\*) do call %0 go %%d %3 D
for %%f in (%2\*) do call %0 go %%f %3 F

#25:  Author: Skif_off PostPosted: Thu Sep 25, 2014 14:26
    —
В смысле "чистится"? Не понимаю - путь или правильный, или нет.

#26:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Sep 25, 2014 15:10
    —
Без префикса винда выполняет предобработку пути, удаляя лишние точки и пробелы в конце. Например, C:\dir и C:\dir. - это одинаковые пути. В случае использования префикса это не так. Аналогично с префиксом можно создать и использовать папку с пробелом в конце имени, что невозможно при обычном обращении.

#27:  Author: FlasherLocation: Москва PostPosted: Thu Sep 25, 2014 21:30
    —
Skif_off wrote:
Если кто-то, как и я, надумает пользовать %WL, вместо %L
Ну, это относится не только к этому скрипту. И этот метод не везде проходит. Лучше
Code:
Set OTF = FSO.GetFile(WScript.Arguments(0)).OpenAsTextStream(1, -1)

Skif_off wrote:
Flasher предложил исправления, только в статью они не попали почему-то.
Кто ж станет править чужие скрипты без согласия автора?

#28:  Author: Skif_off PostPosted: Thu Sep 25, 2014 22:36
    —
Flasher
Посмотрел OpenAsTextStream на MSDN и не понял разницы Smile Честно говоря, сам не разбираюсь, у себя исправил, спасибо.
Flasher wrote:
Кто ж станет править чужие скрипты без согласия автора?

О способе изменений не говорил, кто ж станет игнорировать элементарную вежливость? С Batya, наверное, можно связаться. Ход кОнем: добавить в конце описания ссылку на тему.

#29:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Sep 26, 2014 18:05
    —
Flasher wrote:
Кто ж станет править чужие скрипты без согласия автора?

Хотел поправить статью, но не даёт сохранить Sad
 Ошибка

#30:  Author: FlasherLocation: Москва PostPosted: Sat Sep 27, 2014 02:30
    —
Batya wrote:
не даёт сохранить
Подтверждаю. В обсуждение тоже не даёт.

#31:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Nov 14, 2014 14:01
    —
Статью поправил.

#32:  Author: Hjkma PostPosted: Sun Jun 05, 2016 17:14
    —
А как тоже самое сделать, со структурой каталогов, но на панеле результатов поиска? Ибо файлы на панеле результатов поиска копируются на противоположную панель без сохранения структуры каталогов, то есть копируются только файлы. А нужно чтобы с полным сохранением структуры каталогов.

Использовал этот скрипт.

#33:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 17:32
    —
Hjkma
Не нужно забывать, что поиск может производится на разных дисках, поэтому выяснить в таких условиях отправные пути не представляется возможным. Можно указывать непосредственно глубину, как в случае с TreeCopy+ и CopyTree, но это немного другое.

#34:  Author: Hjkma PostPosted: Sun Jun 05, 2016 18:00
    —
Flasher
Поиск производится на одном диске, в частности в папке "Рабочий стол", который в свою очередь вмещает в себя целую кучу папок. Именно в нем и произвожу поиск. А что касательно TreeCopy+ и CopyTree, они как-то помогают копировать файлы, но с нулевым размером? А то нулевой размер файлов как раз мне нужен. Но если так, то я не понимаю, как их использовать с связке с этим скриптом копирования структуры каталогов с пустыми файлами? А глубина при чем? Если задать какое-то число уровней глубины, оно как-то поможет сохранить структуру каталогов копируемых файлов на панели результатов поиска? Скрипт-то ведь не сохраняет структуру каталогов.

#35:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 18:15
    —
Hjkma
Даже если поиск всё время задействован на одном диске, то всё равно рабочий каталог вернуть не получится, с учётом вариантов Гислер не реализовал эту возможность. Указанные плагины не предлагались в качестве подходящего инструмента, только для выяснения того, как они работают с глубиной, при правильном указании которой можно сохранить нужную структуру. Скрипт же сохраняет структуру только для содержимого выбранных папок.

#36:  Author: Hjkma PostPosted: Sun Jun 05, 2016 18:36
    —
Flasher
Глубина файлов, которые находятся в поиске, самая разная. И файлов самых при поиске находится около сотню тысяч, при этом папок сотни с разным уровнем вложенности. Как указывание глубины поможет тут? Ну если насколько я понимаю работать лишь по одному, искать в одной папке, перемещать их в другую папку с таким же именем, но это очень трудоемко...
В общем, насколько я понимаю задача похоже не решаемая, именно чтобы скопировать файлы на панели результатов поиска со сохранением структуры каталогов причем с нулевым размеров файлов.
А если например, выделить файлы на панеле результатов поиска, сохранить выделение в текстовый файл и создавать каталоги с файлами с нулевым размером по списку?


Last edited by Hjkma on Sun Jun 05, 2016 18:39; edited 1 time in total

#37:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 18:39
    —
Hjkma
Я неверно выразился. Не глубину указывать, а число отсекаемых компонентов в началах путей, как я тут делал.

А какой критерий у поиска, кстати? А то можно было бы вообще TC-шный поиск не задействовать.

#38:  Author: Hjkma PostPosted: Sun Jun 05, 2016 18:57
    —
Flasher

Ищу по ключевыми словами. Касательно числа отсекаемых компонентов, я тут ничего не понял. Что нужно сделать, куда нажимать и куда вводить? Можете объяснить по пунктам? Для новичков?

#39:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 19:07
    —
Hjkma
По ключевым словам? Из потоков или descript.ion/files.bbs?

Компоненты в путях разделяются обратной косой чертой (слэшем).
Имеем путь Буква диска:\имя папки 1\имя папки 2\имя папки 3\полное имя файла.
Указываем 2, отсекается Буква диска:\имя папки 1\, в структуру попадает имя папки 2\имя папки 3\полное имя файла.

#40:  Author: Hjkma PostPosted: Sun Jun 05, 2016 19:18
    —
Flasher
Нет, это просто обычные поисковые запросы, ищу по словам в названиях файлов.
А число отсекаемых компонентов куда нужно вводить, в ваш же скрипт? Но он только перемещает, причем с оригинальным размером, а мне нужно копировать и с нулевым размером.

#41:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 19:26
    —
Hjkma
А, просто маски что ли? Так тут встроенный поиск вообще не нужен. Будет окошко, там вводим маски через ; и подтверждаем. Смотреть нужно по всей активной папке или в выбранных в ней?

Скрипта пока нет. Тот про другое. См. контекст.
И на всякий случай спрошу - для чего пустышки нужны?

#42:  Author: Hjkma PostPosted: Sun Jun 05, 2016 19:38
    —
Flasher
Quote:
Будет окошко

Что за окошко?
Quote:
Смотреть нужно по всей активной папке или в выбранных?

В смысле в активной или выбранных? Не понял.
Quote:
для чего пустышки нужны?

Мне нужно узнать какие папки содержат больше файлов, которые и меня интересует. Если я произведу поиск по определенным словам в названиях файлов, а потом как-то сумею скопировать полученные файлы со сохранением структуры папок, то потом по количеству файлов в папках я пойму какие папки больше содержат интересующие мне файлы, а какие содержат меньше. Пустышки и нужны, чтобы не забивать диск, т.к. файлов в сумме находится около сотни тысяч.

#43:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 19:52
    —
Hjkma wrote:
Что за окошко?
Да такое же, только с другим текстом.
Hjkma wrote:
В смысле в активной или выбранных? Не понял.
Что такое активная папка (текущая папка активной панели) или выбранные в активной панели папки - это уж совсем справочная информация.
Hjkma wrote:
Мне нужно узнать какие папки содержат больше файлов
Вот с этого и надо начинать. Чтобы просто подсчитать кол-во искомых файлов, копировать или создавать пустышки необязательно. Достаточно просто собрать данные. Задачу для сбора инфы придётся уже составить в отдельном топике Автоматизации.

#44:  Author: Hjkma PostPosted: Sun Jun 05, 2016 20:04
    —
Flasher
Ладно, забудьте про это. Думал, есть простое решение, а оказалось, что это не так. В общем, снимаю свой вопрос.

#45:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 20:06
    —
Hjkma
Мне это решение сложным совсем не кажется.

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

#46:  Author: Hjkma PostPosted: Sun Jun 05, 2016 20:19
    —
Flasher
Раз так, создал топик
http://forum.wincmd.ru/viewtopic.php?p=116398#116398

#47:  Author: eka1 PostPosted: Sun Jun 03, 2018 16:29
    —
А есть способ создавать структуру с пустыми файлами\папками с сохранением даты файлов\папок?

#48:  Author: FlasherLocation: Москва PostPosted: Sun Jun 03, 2018 18:34
    —
eka1
Code:
TOTALCMD#BAR#DATA
robocopy
"%P\" "%T\" * /E /CREATE /DCOPY:T /NJH /NJS /NDL /NFL
syncui.dll,11
Создать пустую структуру в пассивной панели из содержимого активной

1


Last edited by Flasher on Fri Jun 08, 2018 00:44; edited 1 time in total

#49:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Sun Jun 03, 2018 19:32
    —
2eka1
Для xxcopy (опять же, без сохранения дат) строка параметров еще проще:
Code:
%P %T /T

#50:  Author: FlasherLocation: Москва PostPosted: Sun Jun 03, 2018 19:59
    —
Вахмурка
Так файлы (с сохранением дат) не создадутся. Да и с пробелами в путях проблемы без кавычек очевидны. Не говоря про то, что двухметровый xxcopy ещё качать нужно.
Вот так правильно:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\xxcopy\xxcopy.exe
"%P" "%T" /BI/E/H/KS/Q/R/TC/TR0/Y
Utils\xxcopy\xxcopy.exe,7
Создать пустую структуру в пассивной панели из содержимого активной

1
В таком случае и и даты папок сохранятся.

Last edited by Flasher on Sun Jun 03, 2018 23:13; edited 2 times in total

#51:  Author: eka1 PostPosted: Sun Jun 03, 2018 22:31
    —
Flasher
спасибо, с robocopy всё идеально работает

xxcopy работает медленнее, не создает копии скрытых папок\файлов, и почему то не создает копии некоторых файлов выдавая сообщения: Copy Failed

#52:  Author: FlasherLocation: Москва PostPosted: Sun Jun 03, 2018 23:12
    —
eka1
Насчёт идеально — не совсем. См., с чего начал.

Насчёт медленнее знаю. Для xxcopy добавил всяких ключей, теперь проблем не должно быть.


Last edited by Flasher on Fri Jun 08, 2018 00:55; edited 1 time in total

#53:  Author: eka1 PostPosted: Sun Jun 03, 2018 23:46
    —
Flasher
Теперь скрытые файлы\папки создает, но ошибки "Copy Failed" сохранились.
http://piccy.info/view3/12384338/26973059a1018b2a84e306c7f0bb62f6/

#54:  Author: FlasherLocation: Москва PostPosted: Sun Jun 03, 2018 23:55
    —
eka1
Так это заблокированные/занятые файлы. Для них спецсредства нужны.
Хотя тут-то по сути копировать не надо, надо создавать одноимёнки. Плохо, что автор xxcopy не предусмотрел такую вещь при /TR0. Написал в суппорт.

#55:  Author: FlasherLocation: Москва PostPosted: Fri Jun 08, 2018 00:47
    —
eka1
Добавил в первую кнопку позабытый недокументированный ключ для сохранения дат папок. Т. е. в xxcopy нужда вовсе отпадает. Wink

#56:  Author: imig73Location: г. Иркутск PostPosted: Mon Aug 27, 2018 00:45
    —
Flasher
Можно ли как то добавить просто предупреждение о перезаписи с нулевым размером, если по целевому пути уже существуют одноимённые файлы с возможностью отмены до начала операции? По невнимательности можно многое угробить Smile Думаю может вызвать robokopy через vbScript с однократным предупреждением...

#57:  Author: FlasherLocation: Москва PostPosted: Mon Aug 27, 2018 01:01
    —
imig73
Существующие в получателе файлы и так не обнуляются.

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

#58:  Author: imig73Location: г. Иркутск PostPosted: Mon Aug 27, 2018 02:29
    —
Flasher
Файлы, если они существуют запросто обнуляются, ключа чтобы их пропустить в robocopy я не увидел.
С помощью скрипта на vbScript от Batya тоже обнуляются, но там хоть предупредить или обойти можно. Ну да ладно сам то я не запутаюсь.

#59:  Author: FlasherLocation: Москва PostPosted: Mon Aug 27, 2018 03:16
    —
imig73
Специально скопипастил кнопку и проверил. Все одноимённые файлы в структуре получателя остались в прежнем виде.
imig73 wrote:
ключа чтобы их пропустить в robocopy я не увидел.
Code:
/XX   Исключить дополнительные файлы и папки
/XC   Исключить измененные файлы

#60:  Author: imig73Location: г. Иркутск PostPosted: Wed Aug 29, 2018 03:07
    —
Flasher
Спасибище большое за подсказку про ключ /XC, видел его но не придал значения. Теперь всё как надо.

#61:  Author: pcherevin PostPosted: Wed May 13, 2020 11:09
    —
Здравствуйте.
Добавил в исходный скрипт (Копирование "пустой" структуры каталогов с файлами) возможность не создавать определённый тип файлов (dat).

А как добавить копирование в очередь с параметрами *.* | *.dat?
Мне нужно чтобы именно TC копировал, как будто я сам нажал F5, выбрал "Только файлы типа - *.* | *.dat", нажал F2.

Code:
Option Explicit
Dim FSO, WSH, OTF, Target, NewTar
Dim Selected
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1, False, -2)
Target  = WScript.Arguments(1)
Do While Not OTF.AtEndOfStream
  Selected = OTF.ReadLine
 
 
  If FSO.FileExists(Selected) And Right(Selected,4)<>".dat" Then
    FSO.CreateTextFile(Target & FSO.GetFile(Selected).Name)
  End If
  If FSO.FolderExists(Selected) Then
    NewTar = Target & FSO.GetFolder(Selected).Name
    If Not FSO.FolderExists(NewTar) Then
      FSO.CreateFolder(NewTar)
    End If
    FolderProcess FSO.GetFolder(Selected), NewTar & "\"
  End If
Loop

Set OTF = Nothing
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit()
 
Function FolderProcess(Fold, Tar)
  Dim sf, f, NewF
  For Each sf in Fold.SubFolders
    NewF = Tar & sf.Name
    If Not FSO.FolderExists(NewF) Then
      FSO.CreateFolder(NewF)
    End If
    FolderProcess sf, NewF & "\"
  Next
  For Each f in Fold.Files
   If Right(FSO.GetFile(f).Name,4)<>".dat" Then
   
       FSO.CreateTextFile(Tar & FSO.GetFile(f).Name)
  End If

  Next
End Function

#62:  Author: FlasherLocation: Москва PostPosted: Wed May 13, 2020 13:10
    —
pcherevin wrote:
Мне нужно чтобы именно TC копировал
У него нет такого функционала.

#63:  Author: pcherevin PostPosted: Wed May 13, 2020 17:57
    —
Flasher wrote:
pcherevin wrote:
Мне нужно чтобы именно TC копировал
У него нет такого функционала.


Спасибо!

А команду cm_CopyOtherpanel из VBS не вызвать без бубна?

#64:  Author: FlasherLocation: Москва PostPosted: Wed May 13, 2020 19:22
    —
pcherevin
Неважно чем вызывать. Речь о создании нулевых файлов.

#65:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu May 14, 2020 16:42
    —
pcherevin
Не нарушайте правила. Оверквотинг на форуме запрещён. Кнопка "цитата" для тех, кто умеет ей пользоваться. Хорошо заметно, что вы — не умеете.

#66:  Author: pcherevin PostPosted: Thu May 14, 2020 23:59
    —
Я наверное плохо объяснил.

Привязал я скрипт к кнопке на панели инструментов. Нажимаю на кнопку, выполняется скрипт "Копирование "пустой" структуры каталогов с файлами". Создаётся структура с пустыми файлами. И последней командой скрипт исполняет cm_CopyOtherpanel, в TC открывается диалоговое окно копирования файлов.
Можно так сделать?

#67:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri May 15, 2020 06:52
    —
pcherevin
Не знаю, как автор скрипта, а я смысл этого дополнения не понимаю. Если потом вам нужен будет диалог копирования, неужели так сложно открыть его вручную? Сцеплять такие вещи в автоматическом режиме — это довольно странный каприз.

#68:  Author: FlasherLocation: Москва PostPosted: Fri May 15, 2020 08:59
    —
Avada wrote:
Не знаю, как автор скрипта
И автор скрипта вряд ли бы понял.

pcherevin
Логика появления этого диалога в чём?



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


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

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group