Показать полную графическую версию : [решено] Удаление файлов из папки, имя которой всегда разное
Как прописать в .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, с выходом новой версии браузера оно конечно измениться.
Переписывать вручную, ну очень неудобно.
$toDelete=(
"searchband.exe",
"service_update.exe",
"yupdate-exec.exe"
);cls
(gci $env:LOCALAPPDATA\Yandex\YandexBrowser\Application -re -in $toDelete).FullName|%{ri $_}
Fors1k_m, это для VBS ? Если да то выскакивает ошибка
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Users\Администратор ПК\Desktop\Файл сценария VBScript.vbs
Строка: 1
Символ: 1
Ошибка: Недопустимый знак
Код: 800A0408
Источник: Ошибка компиляции Microsoft VBScript
---------------------------
ОК
---------------------------
И мне желательно удаление через .cmd.
это для VBS ?
Это Powershell(.ps1).
Fors1k_m, Понятно, я в этом не силён, так что извиняюсь.
Но нужно удаление через .cmd, так как там у меня прописаны и другие команды.
А сам .cmd запускается из архива .SFX.
RD /S /Q "%LocalAppData%\Yandex\YandexBrowser\Application\20.4.3.257\searchband.exe »
почему у вас команда на удаление папки применяется к файлу?
Не проверялось:
@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
Пробуйте, не проверял.
почему у вас команда на удаление папки применяется к файлу? »
Это я по ошибке, скопировал команду на удаление папки и дописал файл.
она разве зачем- то нужна? »
Да она нужна, так как там файлы браузера.
Суть в том, чтобы настройки и удаление этих трёх файлов применялись на любой версии браузера.
DJ Mogarych, Не удаляет.
Iska, Спасибо, работает.
Всем спасибо, задача решена.
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.
BKPB, а с чем помогать-то? Перечисленные пути, я полагаю, Вы и сами в состоянии подставить, продублировав код от pushd до ) дважды.
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, а) одну закрывающую скобку пропустили в первом блоке и б) лишний пробел в именах переменных окружения. Чтобы посмотреть, как выглядят соответствующие переменные окружения, наберите, например, их начальные символы:
set prog
Я в этом деле, ну совсем не разбираюсь. »
Дык, значит, пора учиться :), коллега.
Вопрос закрыт.
:: Сценарий вывода запроса 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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.