Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBScript/JScript/WSH/WMI/HTA
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
1

Скрипт для удаления файлов и папок

03.02.2018, 19:20. Просмотров 1952. Ответов 93
Метки нет (Все метки)

Собрал из кусков скрипт для удаления файлов и папок.
Но проблема такая, если все указанные в скрипте файлы присутствуют в системе то он отрабатывает нормально.
А если какого нибудь файла или папки нет, то скрипт выдаёт ошибку: файл не найден и окно висит пока не закроешь вручную.
Помогите подправить или написать новый, чтобы не было такой ошибки.
Вот мой скрипт:
Visual Basic
1
2
3
4
5
6
7
8
9
' Задержка 1 секунда
WScript.Sleep 1*1000
' Удаление файла
WScript.CreateObject("Scripting.FileSystemObject").DeleteFile "C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\service_update.exe", True
WScript.CreateObject("Scripting.FileSystemObject").DeleteFile "C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\yupdate-exec.exe", True
' Задержка 1 секунда
WScript.Sleep 1*1000
' Удаление папки
WScript.CreateObject("Scripting.FileSystemObject").DeleteFolder "C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\Installer", True
А если поможете написать скрипт или .cmd, чтобы сперва отработал инсталлятор браузера setup.exe, затем ещё один .exe (он просто заменяет файлы в папке с настройками) и затем удалились бы не нужные папки и файлы,
то я бы был безмерно вам благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2018, 19:20
Ответы с готовыми решениями:

Скрипт перемещения файлов и папок пользователя с профиля в профиль
Добрый день! Нужна помощь в написании скриптов. Задача скрипта №1:...

Скрипт для удаления свойств файла Word
Здравствуйте! Имеется вот такой скрипт для удаления свойств файла Excel.\...

Скрипт для удаления виртуальных сом портов
Здравствуйте. Собственно вопрос. Имеется компьютер, на котором конфигурируются...

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

Скрипт для удаления антивируса "Dr.Web"
Добрый день! Мне нужен скрипт или пример как в тихом режиме удалить программу....

93
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
03.02.2018, 20:14 2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
With CreateObject("WScript.Shell")
    .CurrentDirectory = "C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990"
    .Run "setup.exe",, 1 : .Run "затем ещё один.exe",, 1
End With
 
With CreateObject("Scripting.FileSystemObject")
    For Each N In Split("service_update.exe service_update.exe")
        If .FileExists(N) Then .DeleteFile N, 1
    Next
    If .FolderExists("Installer") Then .DeleteFolder "Installer", 1
End With
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
03.02.2018, 21:24  [ТС] 3
FlasherX,
Извините, что неверно указал информацию.
Файлы должны запуститься из папки Temp.
То-есть, мой SFX распаковывает файлы в Temp: Setup.exe и Settings.exe
и вот там их должен запустить этот скрипт.
Поправьте пожалуйста, чтобы сработало.
А то выдаёт ошибку:
Кликните здесь для просмотра всего текста
Строка: 2
Символ: 5
Ошибка: Системе не удается найти указанный путь.
Код: 80070003
Источник: (null)


Добавлено через 41 минуту
FlasherX,
Дело в том, что при распаковке моего инсталлятора SFX, запуск происходит не из самой папки TEMP,
а из C:\Users\Администратор ПК\AppData\Local\Temp\RarSFX0 и эта папка RarSFX0 всегда имеет разное имя,
то RarSFX0, то RarSFX1.
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
03.02.2018, 21:54 4
Цитата Сообщение от BKPB Посмотреть сообщение
папка RarSFX0 всегда имеет разное имя, то RarSFX0, то RarSFX1.
RarSFX - несменное начало имени? И что, если этих папок несколько?
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
03.02.2018, 22:46  [ТС] 5
FlasherX,
RarSFX несменное начало, но оно не бывает только RarSFX,
оно всегда либо RarSFX0(это если нез апущены какие либо другие портабле программы)
а если запущена хотя бы одна, тогда создаваемой папке назначается имя RarSFX1, т.к RarSFX0 уже занято предыдущей программой.
Мне тут давали подсказку для .cmd, когда была такая же поблема,
тоесть вот так не срабатывало потому что папка RarSFX0 всегда имела разное имя, то RarSFX0, то RarSFX1 и.т.д
Windows Batch file
1
2
3
4
5
6
Pushd "%Temp%"
 start " " /wait Setup.exe
 Popd
 ping -n 3 localhost>Nul
 Pushd "%Temp%"
 start " " /wait Settings.exe
А когда сделали так, всё заработало:
Windows Batch file
1
2
3
4
Pushd "%Temp%"
 start " " /wait "%~dp0Setup.exe"
 start " " /wait "%~dp0Settings.exe"
 Popd
Вот и в скрипте наверное нужно сделать что то подобное.
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
03.02.2018, 23:55 6
BKPB, подсказки мне не нужны.
Я не понял. Написано "Вот мой скрипт". В первом посте пути и имена файлов фейковые или нет?
Если нет, то почему нет пути C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990 ?
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 08:26  [ТС] 7
FlasherX,
Ошибся это не скрипт, а пример сценария.
Имена не фейковые, а пути нет, потому что запуск происходит в папке RarSFX0 временно создающейся в директории
%TEMP% и имя RarSFX* всегда разное.
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 11:33 8
Цитата Сообщение от BKPB Посмотреть сообщение
Имена не фейковые, а пути нет
Что-о-о-о?
service_update.exe, yupdate-exec.exe, Installer, Setup.exe и Settings.exe — все находятся в %TEMP%\RarSFX*, не пойму?
0
YuS_2
Любознательный
769 / 556 / 179
Регистрация: 10.03.2016
Сообщений: 1,276
04.02.2018, 12:05 9
Цитата Сообщение от BKPB Посмотреть сообщение
А когда сделали так, всё заработало:
Windows Batch file
1
2
3
4
Pushd "%Temp%"
start " " /wait "%~dp0Setup.exe"
start " " /wait "%~dp0Settings.exe"
Popd
Дословно:
1. Перейти во временный каталог, записанный в переменной окружения %temp%
2. Запустить, с ожиданием завершения работы, файл Setup.exe, расположенный в одном каталоге с пакетным сценарием ( не совсем понятно - зачем осуществлялся переход во временный каталог?)
3. Запустить, с ожиданием завершения работы, файл Settings.exe, расположенный в одном каталоге с пакетным сценарием ( тоже не совсем понятно - зачем же осуществлялся переход во временный каталог?)
4. Возврат в каталог, сохраненный командой pushd на первом шаге, перед тем как перейти в указанный каталог.
Итого:
Что там заработало - вопрос тот ещё... т.к. этот пакетник противоречит Вашему условию:
Цитата Сообщение от BKPB Посмотреть сообщение
То-есть, мой SFX распаковывает файлы в Temp: Setup.exe и Settings.exe
Цитата Сообщение от BKPB Посмотреть сообщение
Имена не фейковые, а пути нет, потому что запуск происходит в папке RarSFX0 временно создающейся в директории
%TEMP% и имя RarSFX* всегда разное.
В общем, разберитесь подробнее, где что создается и где что требуется запустить, после чего скорректируйте условие... если, конечно, есть желание, чтобы "всё заработало".
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 12:57  [ТС] 10
Не знаю, как объяснить.
2. Запустить, с ожиданием завершения работы, файл Setup.exe, расположенный в одном каталоге с пакетным сценарием ( не совсем понятно - зачем же осуществлялся переход во временный каталог ?
Почему из %temp% ? Потому, что я беру выдернутые из официального инсталлятора файлы
browser.7z, Setup.exe и самораспаковывающийся архив Settings.exe.
Запаковываю их в WinRarSFX архив и указываю в нём извлечь файлы во временную папку.
Чтобы произвести от туда их запуск, по очереди.
Для этого мне и нужен скрипт который запустил бы их с задержкой между запуском Setup.exe и Settings.exe.
А WinRarSFX архив и извлекает во временный каталог, а после установки удаляет извлечённые файлы.
Вот батник который всё это выполняет, но мне нужен скрипт.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
Pushd "%Temp%"
start " " /wait "%~dp0Setup.exe"
ping -n 2 localhost>Nul
TASKKILL /F /IM browser.exe
TASKKILL /F /IM service_update.exe
ping -n 2 localhost>Nul
start " " /wait "%~dp0Settings.exe"
Popd  
ping -n 1 localhost>Nul
del "C:\Users\Ђ¤¬Ё*Ёбва*в®а ЏЉ\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\yupdate-exec.exe"
del "C:\Users\Ђ¤¬Ё*Ёбва*в®а ЏЉ\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\service_update.exe"
rd /s /q "C:\Users\Ђ¤¬ЁЁбва*в®а ЏЉ\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\Installer"
Ђ¤¬ЁЁбва*в®а ЏЉ в пути, это Администратор ПК в кодировке 866 иначе батник не удаляет нужные файлы
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 13:08 11
BKPB, хотите обсуждать батники, идите в раздел для них. Хотите, чтобы вам помогли здесь, ответьте на вопрос.
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 13:59  [ТС] 12
FlasherX,
Если вы имеете ввиду вопрос:
Кликните здесь для просмотра всего текста
А когда сделали так, всё заработало:
Pushd "%Temp%"
start " " /wait "%~dp0Setup.exe"
start " " /wait "%~dp0Settings.exe"
Popd

То ответ, ДА.
Или на какой вопрос я не ответил?
Я не обсуждаю батник.
Я просто подумал, раз не получается написать скрипт,
может кто то основываясь на батнике создаст или как нибудь конвертирует его,
что то типа этого. Вот и всё.
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 14:04 13
Цитата Сообщение от BKPB Посмотреть сообщение
Если вы имеете ввиду вопрос:
Это не вопрос, и ко мне он отношения не имеет.
Цитата Сообщение от BKPB Посмотреть сообщение
Или на какой вопрос я не ответил?
На мой, естественно.
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 14:17  [ТС] 14
service_update.exe, yupdate-exec.exe, Installer, Setup.exe и Settings.exe — все находятся в %TEMP%\RarSFX*, не пойму?
Этот вопрос ?

В %TEMP%\RarSFX* находятся только файлы Setup.exe и Settings.exe,
а файлы service_update.exe, yupdate-exec.exe и папка Installer,
будут находится в папке программы когда она установится и вот от туда мне и нужно будет их удалить
после того как программа закончит установку и распакуются настройки.
(C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\)
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 14:48 15
Понятно. В общем, сами в своих показаниях запутались. Иначе бы давно получили готовый ответ:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
With CreateObject("Scripting.FileSystemObject")
    P = .GetSpecialFolder(2) : Path = """" & P & "\RarSFX0"
    If .FolderExists(P & "\RarSFX1") Then Path = """" & P & "\RarSFX1"
    With CreateObject("WScript.Shell")
        .Run Path & "\setup.exe""",, 1 : .Run Path & "\Settings.exe""",, 1
        .CurrentDirectory = .Environment("Process")("LocalAppData") & "\Yandex\YandexBrowser\Application\17.11.1.990"
    End With
    For Each N In Split("service_update.exe yupdate-exec.exe")
        If .FileExists(N) Then .DeleteFile N, 1
    Next
    If .FolderExists("Installer") Then .DeleteFolder "Installer", 1
End With
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 14:55  [ТС] 16
FlasherX,
Выдаёт ошибку.
Кликните здесь для просмотра всего текста
Сценарий:
C:\UsersW7D~l\AppData\Local\Temp\RarSFX0\Setup.vbs
Строка: 5
Символ: 5
Ошибка: Не удается найти указанный файл.
Код: 80070002
Источник: (null)
0
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 15:02 17
BKPB, значит, файла C:\Users\Администратор ПК\AppData\Local\Temp\RarSFX(0/1)\setup.exe нет. А скрипт, как вы объясняли, запускается после распаковки SFX.

Администратор ПК, кстати, — это активный профиль?
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 17:14  [ТС] 18
FlasherX,
Всё равно выдаёт ошибку:
Кликните здесь для просмотра всего текста
Сценарий:
C:\Users\A47D-l\AppData\Local\Temp\RarSFX0\Setup.vbs
Строка: 5
Символ: 9
Ошибка: Не удается найти указанный файл.
Код: 80070002
Источник: (null)


Администратор ПК, кстати, — это активный профиль?
Да, активный, других учётных записей нет.
Скриншот:
0
Миниатюры
Скрипт для удаления файлов и папок  
FlasherX
726 / 284 / 112
Регистрация: 06.06.2017
Сообщений: 1,083
04.02.2018, 17:34 19
BKPB, значит, есть папка RarSFX1, в которой с ваших слов и надо искать эти файлы:
а если запущена хотя бы одна, тогда создаваемой папке назначается имя RarSFX1, т.к RarSFX0 уже занято предыдущей программой.
Скрипт проверяет сущетсвование папки RarSFX1. Если она есть, то файлы запускаются из неё.
0
BKPB
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 83
04.02.2018, 17:55  [ТС] 20
Ещё скриншот:
Скрипт для удаления файлов и папок


Добавлено через 6 минут
Да нет же, файлы должны запустится из любой папки которая создастся, если свободно RarSFX0 значит из неё, если занято,
значит из RarSFX1, если и она (что очень, очень редко бывает), то из RarSFX3 т.к их создаёт сам SFX WinRar архив.

Добавлено через 12 минут
Скрипт проверяет сущетсвование папки RarSFX1. Если она есть, то файлы запускаются из неё.
В общем заменил в скрипте RarSFX1 на RarSFX0 и установка прошла но с ошибкой.
т.к после выполнения Setup.exe, нужна пауза 7 сек, потом завершить процессы
browser.exe и service_update.exe иначе они не дают распаковаться настройкам (Settings.exe)
в папку с программой, потом пауза на 2 сек перед запуском Settings.exe (настройки),
далее пауза 1 сек и далее удаление ненужных файлов из
C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\yupdate-exec.exe
C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\service_update.exe
C:\Users\Администратор ПК\AppData\Local\Yandex\YandexBrowser\Application\17.11.1.990\Installer\browser.7z
и всё.
0
04.02.2018, 17:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2018, 17:55

Нужен скрипт для копирования файлов
Составил небольшой скрипт для борьбы с порнобаннерами.Программа работает без...

Скрипт для сбора текста из лог файлов
Всем привет. Необходима помощь в создании скрипта. Ситуация следующая,...

Скрипт для переименования файлов расширения .doc
Подскажите пожалуйста как написать скрипт: Переименовать все файлы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru