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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Найти папку (http://forum.oszone.net/showthread.php?t=349495)

VladoSer 30-08-2021 13:01 2965345

Найти папку
 
Здравствуйте.
Необходимо создать .bat, пытаюсь написать, но получается не очень


Суть:

Есть предположим такие каталоги:
C:\Users\имя пользователя\AppData\Local\Packages
C:\Windows\SystemApps


В этих каталогах есть папки с именем таким:
То, что выделено красным может иметь другие цифры (тк версия установленного edge может отличаться на разных ПК)


Те папки, чье имя начинается на "Microsoft.MicrosoftEdge...." необходимо найти их в указанных каталогах и удалить .

благодарю за любую помощь.

NickM 30-08-2021 13:09 2965346

VladoSer, а разве таким "варварским" способом удаляются UWP-приложения из Windows?

VladoSer 30-08-2021 13:14 2965347

Цитата:

Цитата NickM
а разве таким "варварским" способом удаляются UWP-приложения из Windows? »

Здравствуйте, нет, я их вообще твикером удаляю, но остатки все равно есть.

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

megaloman 30-08-2021 15:40 2965370

Код:

@Echo Off
cls
        For /F "usebackq delims=" %%d In (`2^>nul Dir "C:\Users\%USERNAME%\AppData\Local\Packages\Microsoft.MicrosoftEdge*" /S /B /A:D`) Do Echo Rd "%%d" /s /q
pause
Exit /B 0

Для реального удаления уберите Echo

DJ Mogarych 30-08-2021 16:22 2965374

VladoSer, удаляйте нормальным способом. Ничего хорошего вы удалением папки не добьётесь, это удаление гланд автогеном как в старом анекдоте.

VladoSer 30-08-2021 16:36 2965378

DJ Mogarych,
Здравствуйте, речь идет именно про папки Edge?

Вообще, как выше сообщалось, хочется не только для этого использовать конструкцию, может пригодится кому либо для удаления большого количества папок по маске.

megaloman,
А если , предположим, известно точное название папки , не ее часть, то как найти ее в каталоге , и удалить ?
Убрать из кода * это?

megaloman 30-08-2021 16:43 2965381

Цитата:

Цитата VladoSer
Убрать из кода * это? »

Да. Но если известна папка, точное имя подпапки, то зачем искать топор за лавкой? Убивайте стандартной командой:
Rd "Полное имя папки (полный путь\имя)" /S /Q
Посмотрите, может пригодится.

VladoSer 30-08-2021 18:40 2965392

megaloman,
Нашел еще вот такой код , он чем то отличается от того, что предложено выше?
Код:

cd /d "%LOCALAPPDATA%\Packages"
for /f "delims=" %%i in ('
"dir /ad/b/s "Microsoft.MicrosoftEdge*" 2>nul"
') do (
 rd "%%i" /s/q
 )


megaloman 30-08-2021 19:55 2965413

VladoSer, В принципе, ничем, если сделаете в командном окне
Echo "C:\Users\%USERNAME%\AppData\Local\Packages"
Echo "%LOCALAPPDATA%\Local\Packages"
и получите одинаковые строки.
Вторая строка в написании короче и универсальнее, она мне нравится больше.
Я тупо без проверки скопировал Ваш путь, так как у меня немного другие пути и я это проделать не могу.
Но мой вариант безопаснее, так как в Dir у меня используется полный путь, а в этом варианте - результат выполнения успешности CD никак не анализируется и при ошибке в указании пути Вы рискуете удалить что-то нужное, что выдаст Dir из непонятно какого места в случае некорректного завершения CD.

DJ Mogarych 30-08-2021 21:14 2965430

Цитата:

Цитата VladoSer
речь идет именно про папки Edge? »

Речь идёт о приложениях Windows, которые вы, по всей видимости, удаляете таким способом. Коллега NickM дал ссылки на правильное удаление этих приложений.

Если это просто пример какой-то отвлечённой папки, тогда другое дело.

VladoSer 31-08-2021 01:33 2965449

megaloman,
Благодарю Вас за подробное объяснение и решение моей задачи .
DJ Mogarych,
Папки Edge были как пример , за ссылки NickM спасибо.


Время: 09:53.

Время: 09:53.
© OSzone.net 2001-