|
0 / 0 / 0
Регистрация: 05.09.2021
Сообщений: 10
|
|
Создание папок и перемещение в них файлов (снова)06.09.2021, 01:35. Показов 4525. Ответов 27
Господа, день добрый.
У меня задача очень похожая на эту, но я в PowerShell вообще ни бум-бум. Пробежался по статейкам и хелпу - общие моменты вполне понятны, а вот осилить разбор имени файла у меня пока что не вышло. Задача такова: разобрать файлы проекта по папкам. Файлы бывают "исходниками" - dwg, docx, xlsx и "результатом" - pdf. Варианты имён файлов таковы: Кликните здесь для просмотра всего текста
d:\test\РК-РД-ЧС-01-А2-К-00.pdf
d:\test\РК-РД-ЧС-01-А2-С-00.docx d:\test\РК-РД-ЧС-01-А2-С-00.pdf d:\test\РК-РД-ЧС-01-В2-003, 004-00.dwg d:\test\РК-РД-ЧС-01-КВД-002-00.dwg d:\test\РК-РД-ЧС-01-С-003, 004-00.dwg d:\test\РК-РД-ЧС-02-А2-001-00.docx d:\test\РК-РД-ЧС-02-А2-001-00.docx d:\test\РК-РД-ЧС-02-А2-003, 004-00.dwg d:\test\РК-РД-ЧС-02-А2-К-00.docx d:\test\РК-РД-ЧС-04-А3-003, 004-00.dwg d:\test\РК-РД-ЧС-04-В1-003-00.dwg d:\test\РК-РД-ЧС-04-С-002-00.dwg Названия файлов имеют следующую структуру: AA-BB-CC-DD-EE-FFF-GG.pdf Задача первая (промежуточная) - для файлов с именами вида "*003, 004*" (цифры не обязательно могут быть такими) получить 2 одинаковых копии файла с именами "003" и "004". Задача вторая - разложить файлы по папкам проекта, надо взять имя файла от начала до 5го тире. В каждой папке проекта должно оказаться две папки - native и pdf, одна с "исходными" файлами, вторая с "результатами". Ну и до кучи все получившиеся файлы проекта собрать в одну папочку с названием равным текущей дате. Так-то общий алгоритм действий мне понятен, и отдельные этапы с перемещениями файликов вроде я могу реализовать, а вот взаимодействие с командой Split меня просто в ступор вгоняет. Подтолкните в правильном направлении.
0
|
|
| 06.09.2021, 01:35 | |
|
Ответы с готовыми решениями:
27
Создание папок и перемещение в них файлов
|
|
0 / 0 / 0
Регистрация: 05.09.2021
Сообщений: 10
|
||||||
| 07.09.2021, 16:09 [ТС] | ||||||
|
У себя обновился, надо бы тогда и старый powershell прибить, чтобы не смущал.
А вот чтобы по всем своим проектировщикам не бегать и каждому не обновлять - попробую модифицировать. Как задать ему каталог ".", чтобы он текущим пользовался? Добавлено через 22 минуты alhaos, скрипт работает, но подлянку кинули с другой стороны ![]() Вчера пришла команда изменить шифр проекта для одного здания, и теперь вместо РК-РД-ЧС-01-КВД-001-00.docx у меня РК-РД-ЧС-К-001-00.docx Что ломает всё стройную систему. Собственно конкретно на это здание можно и забить, для него будет всего один проект, так что руками отсортироваьт нет никаких проблем. Пытаюсь сделать эксепшен для этого случая и не понимаю почему он не работает:
0
|
||||||
| 07.09.2021, 18:18 | |||||||
![]() [Directory]::GetFiles возвращает строку, а у строки нету полей. Работать надо как со стркой. $_ (строка) -match (содержит) ".pdf|.dwg|.xls|.xlsx|.doc|.docx" знак | (вертикальная черта) тут означает ИЛИ
alhaos, 16 Узрел демонстрационное НЕиспользование функций powershell
0
|
|||||||
|
0 / 0 / 0
Регистрация: 05.09.2021
Сообщений: 10
|
||||||
| 07.09.2021, 18:36 [ТС] | ||||||
|
Вот за это я не пошел в программирование - вот эти вот 100500 способов по разному сделать одно и то же, брр, мама роди меня обратно!
Затестил, всё равно скрипт хватает неправильные файлы:
0
|
||||||
| 07.09.2021, 19:07 | ||||||
|
sting26, по выводу, не всегда видно, что вы там запускали…
![]() атак
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.09.2021
Сообщений: 10
|
||||||||||||||||
| 07.09.2021, 19:34 [ТС] | ||||||||||||||||
В список $sourceFiles продолжает попадать то, что туда попадать не должно. Уточню на всякий случай - в имени файла все символы это кириллица. Добавлено через 2 минуты Ха, кажется починил. Вот так протестил:
Добавлено через 5 минут Чтож, похоже это успех! Итоговый код:
0
|
||||||||||||||||
|
|
||||||
| 07.09.2021, 19:37 | ||||||
Добавлено через 2 минуты еще один франкенскипт, it's alive!!! Ha ha ha!!!
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.09.2021
Сообщений: 10
|
|||||||
| 07.09.2021, 19:53 [ТС] | |||||||
|
Добавлено через 1 минуту Код с комментами, специально для таких как я ![]()
0
|
|||||||
|
|
|
| 08.09.2021, 06:34 | |
|
ну если все страивает, то кто я такой чтобы мешать чужому счастью.
0
|
|
| 08.09.2021, 06:34 | |
|
Перемещение файлов и папок (с сохранением структуры) из нескольких сетевых папок в одну локальную Консольное приложение: отображение структуры файлов и папок, перемещение по папкам, открытие файлов Перемещение файлов и папок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|