Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Поиск файлов exe и составление списка папок,без упоминания файлов.

Ответить
Настройки темы
Любой язык - Поиск файлов exe и составление списка папок,без упоминания файлов.

Аватара для Shauniam

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Windows 10 Домашняя.Этот скрипт нужен чтобы составить список папок E:\ в которых находятся exe-шники,чтобы с помощью другого скрипта- все эти указанные в списке папки перенести в одну папку E:\Programs .Почему нужен такой список где указаны только папки,без находящихся в них файлов?Это нужно чтобы скрипт переносил папки с находящимися в них файлами и не дублировал эти файлы при переносе в указанную общую папку.Как я знаю- скрипт который переносит папки с файлами,еще дублирует файлы вне папок,получается двойное перенесение файлов.Надеюсь хорошо объяснил задачу-просьбу.ведь как я понял из предыдущих тем что программисты любят(как "хлеб") конкретные задачи.Учусь на ошибках.Если что нужно уточнить,спрашивайте.

Отправлено: 06:05, 09-07-2021

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
Get-ChildItem -Path E:\ -Recurse *.exe | Select-Object Directory | Sort-Object -Unique
просто список, просто выводится на экран. для того чтобы переносить нужно будет соблюсти уйму условий. Первое что приходит в голову это структура приблизительно такая:
Скрытый текст
Код: Выделить весь код
├── dir1
│   ├── dir2
│   │   ├── file1.exe
│   │   ├── dir3
│   │   │   └── file2.exe
│   │   ├── file3.exe
│   │   ├── file4.exe
│   │   └── dir4
│   │       └── dir5
│   │           ├── dir6
│   │           │   ├── file5.exe
│   │           │   └── file6.exe
│   │           └── dir7
│   │               └── file7.exe
│   ├── file.exe

т.е. в списке будет
dir1
dir1\dir2
dir1\dir2\dir3
dir1\dir4\dir5\dir6
dir1\dir4\dir5\dir7
А по факту нужно будет переносить целиком dir1.
Учитывая что дело происходит (как я понимаю) на домашнем компьютере, то скорей всего работа такая - одноразовая, или, по крайней мере, не слишком частая. При наличии списка лучше перенести папки руками.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:18, 09-07-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
cls
>nul Chcp 1251

	Set "BoxIn=Z:"
rem	Set "BoxIn=Z:\Soft_In"

	>"%~dpnx0.log" (FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%BoxIn%\" /S /B /A:D`) DO If Exist "%%d\*.exe" Echo "%%d")
pause
Exit /B 0
Результат - в текстовом файле ИмяБатФайла.bat.loq
Нарисовал ответ на Ваш предыдущий вопрос

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 09-07-2021 в 14:44.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:24, 09-07-2021 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$paths = dir 'E:\' -Recurse -Filter '*.exe' |? Directory -notmatch 'E:\\Programs' |sort Directory -Unique

$paths |% {
    if ($_.Directory.Parent.FullName -notin $paths.Directory.FullName) {
    mv "$($_.Directory.FullName)" "E:\Programs" -Force -Confirm:$false -WhatIf
    }
}
-WhatIf выдаёт список, если его убрать - будет реально переносить.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 09-07-2021 в 13:01.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:49, 09-07-2021 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Поиск файлов exe и составление списка папок,без упоминания файлов.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск файлов в папке и вывод их списка под номерами Alex S Скриптовые языки администрирования Windows 41 30-12-2020 13:26
PowerShell - Поиск с созданием списка файлов с последующим их копированием. rengaboy Скриптовые языки администрирования Windows 12 29-05-2018 15:35
CMD/BAT - [решено] получение списка имён файлов без имен папок (с подкаталогами) shadowbat Скриптовые языки администрирования Windows 6 20-12-2015 19:29
CMD/BAT - Составление списка файлов и вставка ck80 Скриптовые языки администрирования Windows 0 14-12-2012 13:43
PowerShell - [решено] Поиск файлов из списка Frenzy Скриптовые языки администрирования Windows 2 01-12-2010 18:21




 
Переход