Войти

Показать полную графическую версию : [решено] Удаление файлов из папки, имя которой всегда разное


BKPB
24-05-2020, 18:35
Как прописать в .cmd, чтобы удалялись одни и те же файлы из папки, имя которой меняется.
Пример:
RD /S /Q "%LocalAppData%\Yandex\YandexBrowser\Application\20.4.3.257\searchband.exe
RD /S /Q "%LocalAppData%\Yandex\YandexBrowser\Application\20.4.3.257\service_update.exe
RD /S /Q "%LocalAppData%\Yandex\Application\20.4.3.257\yupdate-exec.exe

Сейчас имя папки 20.4.3.257, с выходом новой версии браузера оно конечно измениться.
Переписывать вручную, ну очень неудобно.

Fors1k
24-05-2020, 19:46
$toDelete=(
"searchband.exe",
"service_update.exe",
"yupdate-exec.exe"
);cls

(gci $env:LOCALAPPDATA\Yandex\YandexBrowser\Application -re -in $toDelete).FullName|%{ri $_}

BKPB
24-05-2020, 20:06
Fors1k_m, это для VBS ? Если да то выскакивает ошибка
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Users\Администратор ПК\Desktop\Файл сценария VBScript.vbs
Строка: 1
Символ: 1
Ошибка: Недопустимый знак
Код: 800A0408
Источник: Ошибка компиляции Microsoft VBScript

---------------------------
ОК
---------------------------

И мне желательно удаление через .cmd.

Fors1k
24-05-2020, 20:09
это для VBS ?
Это Powershell(.ps1).

BKPB
24-05-2020, 20:20
Fors1k_m, Понятно, я в этом не силён, так что извиняюсь.
Но нужно удаление через .cmd, так как там у меня прописаны и другие команды.
А сам .cmd запускается из архива .SFX.

Опиум
25-05-2020, 02:14
RD /S /Q "%LocalAppData%\Yandex\YandexBrowser\Application\20.4.3.257\searchband.exe »
почему у вас команда на удаление папки применяется к файлу?

Iska
25-05-2020, 05:30
Не проверялось:
@echo off
setlocal enableextensions enabledelayedexpansion

pushd "%LocalAppData%\Yandex" && (
del /f /s /q "searchband.exe" "service_update.exe" "yupdate-exec.exe"
popd
)

endlocal
exit /b 0

megaloman
25-05-2020, 06:05
У меня подозрение, что надо удалить не только файлы из папки, но и саму папку старой версии. Например, по принципу: если в папке содержится хотя бы один из перечисленных файлов (как вариант, все три перечисленные файла одновременно), то удаляем папку целиком - она разве зачем- то нужна?

DJ Mogarych
25-05-2020, 11:22
Powershell:

del $env:LOCALAPPDATA\yandex\yandexbrowser\application\*\searchband.exe -Force -Confirm:$false
del $env:LOCALAPPDATA\yandex\yandexbrowser\application\*\*update*.exe -Force -Confirm:$false


Пробуйте, не проверял.

BKPB
25-05-2020, 11:32
почему у вас команда на удаление папки применяется к файлу? »
Это я по ошибке, скопировал команду на удаление папки и дописал файл.

она разве зачем- то нужна? »
Да она нужна, так как там файлы браузера.
Суть в том, чтобы настройки и удаление этих трёх файлов применялись на любой версии браузера.

BKPB
25-05-2020, 12:12
DJ Mogarych, Не удаляет.

Iska, Спасибо, работает.

Всем спасибо, задача решена.

BKPB
26-05-2020, 21:08
Iska,
Вы помогли мне вот такой командой.

@echo off
setlocal enableextensions enabledelayedexpansion

pushd "%LocalAppData%\Yandex" && (
del /f /s /q "searchband.exe" "service_update.exe" "yupdate-exec.exe"
popd
)

endlocal
exit /b 0

Но сегодня столкнулся с такой проблемой, при установке Корпоративной версии браузера.
Инсталлятор устанавливает эту версию либо в Program Files (x86) либо в Program Files,
в зависимости от разрядности а не в %LocalAppData%.
Соответственно эти файлы не удаляются.
Поэтому я прошу, могли бы вы написать команду,
что бы эти файлы искались и удалялись не только в %LocalAppData% но и в Program Files (x86) и Program Files.

Iska
26-05-2020, 21:54
BKPB, а с чем помогать-то? Перечисленные пути, я полагаю, Вы и сами в состоянии подставить, продублировав код от pushd до ) дважды.

BKPB
26-05-2020, 22:15
Iska,
pushd "%Program Files (x86)%\Yandex" && (
del /f /s /q "searchband.exe" "service_update.exe" "yupdate-exec.exe"
popd

pushd "%Program Files%\Yandex" && (
del /f /s /q "searchband.exe" "service_update.exe" "yupdate-exec.exe"
popd
)
так ?

BKPB
26-05-2020, 23:14
Сейчас попробую по другому.

Iska
27-05-2020, 05:06
BKPB, а) одну закрывающую скобку пропустили в первом блоке и б) лишний пробел в именах переменных окружения. Чтобы посмотреть, как выглядят соответствующие переменные окружения, наберите, например, их начальные символы:
set prog

Я в этом деле, ну совсем не разбираюсь. »
Дык, значит, пора учиться :), коллега.

BKPB
27-05-2020, 09:31
Iska, Спасибо.

BKPB
27-05-2020, 10:25
Вопрос закрыт.
:: Сценарий вывода запроса UAC на получение прав Администратора
@reg query "HKU\S-1-5-19\Environment" >nul 2>&1 & cls
@if "%Errorlevel%" NEQ "0" ( cmd /u /c echo. CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%Temp%\GetAdmin.vbs"
@"%Temp%\GetAdmin.vbs" & del "%Temp%\GetAdmin.vbs" & cls & exit )

@echo off
setlocal enableextensions enabledelayedexpansion

pushd "%LocalAppData%\Yandex" && (
del /f /s /q "service_update.exe" "yupdate-exec.exe"
popd
)

pushd "%ProgramFiles%\Yandex" && (
del /f /s /q "service_update.exe" "yupdate-exec.exe"
popd
)

pushd "%ProgramFiles(x86)%\Yandex" && (
del /f /s /q "service_update.exe" "yupdate-exec.exe"
popd
)

endlocal
exit /b 0




© OSzone.net 2001-2012