Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
Любой язык - [решено] Скрипт для создания деинсталлятора файлов в папке.

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


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

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


Добрый день.
1) Напишите пожалуйста скрипт, чтобы он создавал скрипт для удаления всех файлов в папке, которую я указываю.
2) Как сделать, чтобы этот скрипт можно было запускать через клик правой кнопкой мыши по папке?

Отправлено: 07:56, 12-09-2010

 

Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Corsag21:
Напишите пожалуйста скрипт, чтобы он создавал скрипт для удаления всех файлов в папке, которую я указываю »
Это всего лишь одна команда:
Код: Выделить весь код
Del /F /Q "путь к папке"
Цитата Corsag21:
Как сделать, чтобы этот скрипт можно было запускать через клик правой кнопкой мыши по папке? »
Так как в задании не оговорено удалять файлы из подпапок и/или подпапки, то:
Код: Выделить весь код
@Echo Off
Reg Add "HKCR\Directory\shell\DeletFilesFromFolder" /v MUIVerb /d "Удалить файлы из папки" /f >nul
Reg Add "HKCR\Directory\shell\DeletFilesFromFolder\command" /ve /d "cmd /c Start /MIN \"\" cmd /c \"Del /F /Q \"%%1\" ^>nul\"" /f >nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 12-09-2010 | #2



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

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


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


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

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


Извиняюсь, не совсем ясно выразился. Этот скрипт мне нужен для удобного удаления плагинов в tes4 oblivion. Все плагины кидаются в папку Data, и если нужно удалить один плагин, то приходится искать все файлы, которые относятся к плагину и удалять их по отдельности, тем более они находятся в разных подпапках. Поэтому мне бы хотелось, чтобы до копирования плагина я мог сделать скрипт .bat или типа того такого вида:

del \meshes\dungeons\AyleidRuins\exterior\OOOardoor01Varastal.nif
del \Textures\dungeons\misc\OOOSpawnFishCrates\duncrate01OOO.dds
и т. д.

для всех файлов в нужной папке.

Отправлено: 16:49, 12-09-2010 | #3


Аватара для El Sanchez

Ветеран


Contributor


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

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


Corsag21, понятно.
Так как я не знаю вашей ОС, то предложу 2 варианта - для WinXP и Win7(/Vista?)

Для XP:
Код: Выделить весь код
@Echo Off
Set DataDir=C:\Program Files\Oblivion\Data
Set SourcePlugin=C:\Installs\Games\Oblivion\OblivionPatches

:: ================================
Set DataDir=%DataDir:(=^^^^(%
Set DataDir=%DataDir:)=^^)%
SetLocal EnableDelayedExpansion
For /D %%A In ("%SourcePlugin%\*") Do (
	Echo @Echo Off>"%%A\Install %%~nA.bat"
	Echo Reg Query "HKCR\Directory\shell\DeletePlugin_%%~nA" /v Extended 1^>nul 2^>^&1^&^&GoTo :UnInstall^|^|GoTo :Install>>"%%A\Install %%~nA.bat"
	Echo.>>"%%A\Install %%~nA.bat"
	
	Echo :Install>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugin_%%~nA" /v MUIVerb /d "Удалить плагин %%~nA" /f 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugin_%%~nA" /v Extended /f 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugin_%%~nA\command" /ve /d "\"%DataDir%\Uninstall %%~nA.bat\"" 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo Ren %%0 "Uninstall %%~nA%%~x0">>"%%A\Install %%~nA.bat"
	Echo GoTo :EOF>>"%%A\Install %%~nA.bat"
	Echo.>>"%%A\Install %%~nA.bat"

	Echo :UnInstall>>"%%A\Install %%~nA.bat"
	For /F "Tokens=*" %%B In ('Dir /B /S /A-D "%%A" 2^>nul') Do (
		Set SourceFilePath=%%B
		Call Set DestFilePath=%%SourceFilePath:%%A=%DataDir%%%
		If /I Not "%%~nB"=="Install %%~nA" Echo Del /F /Q "!DestFilePath!" ^>nul>>"%%A\Install %%~nA.bat"
	)
	Echo Reg Delete "HKCR\Directory\shell\DeletePlugin_%%~nA" /f 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo Del /F /Q %%0 ^>nul>>"%%A\Install %%~nA.bat"
)
Для Win7:
Код: Выделить весь код
@Echo Off
Set DataDir=C:\Program Files\Oblivion\Data
Set SourcePlugin=C:\Installs\Games\Oblivion\OblivionPatches

:: ================================
Set DataDir=%DataDir:(=^^^^(%
Set DataDir=%DataDir:)=^^)%
SetLocal EnableDelayedExpansion
For /D %%A In ("%SourcePlugin%\*") Do (
	Echo @Echo Off>"%%A\Install %%~nA.bat"
	Echo Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\CommandStore\shell\%%~nA" /v Icon 1^>nul 2^>^&1^&^&GoTo :UnInstall^|^|GoTo :Install>>"%%A\Install %%~nA.bat"
	Echo.>>"%%A\Install %%~nA.bat"

	Echo :Install>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugins" /v MUIVerb /d "Удалить плагины Oblivion" /f ^>nul>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugins" /v Extended /f ^>nul>>"%%A\Install %%~nA.bat"

	Echo Reg Query "HKCR\Directory\shell\DeletePlugins" /v SubCommands 1^>nul 2^>^&1^&^&^(^^>>"%%A\Install %%~nA.bat"
	Echo For /F "Tokens=2*" %%%%I In ^('Reg Query "HKCR\Directory\shell\DeletePlugins" /v SubCommands^^^|Find "REG_SZ" 2^^^>nul'^) Do ^^>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugins" /v SubCommands /d "%%%%J;%%~nA" /f 1^>nul 2^>nul^)^|^|^(^^>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugins" /v SubCommands /d "PDFViewer" /f 1^>nul 2^>nul^)>>"%%A\Install %%~nA.bat"

	Echo Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\CommandStore\shell\%%~nA" /ve /d "Удалить %%~nA" /f ^>nul>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\CommandStore\shell\%%~nA" /v Icon /d "shell32.dll,-240" /f ^>nul>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\CommandStore\shell\%%~nA\command" /ve /d "\"%DataDir%\Uninstall %%~nA.bat\"" /f ^>nul>>"%%A\Install %%~nA.bat"
	Echo Ren %%0 "Uninstall %%~nA%%~x0">>"%%A\Install %%~nA.bat"
	Echo GoTo :EOF>>"%%A\Install %%~nA.bat"
	Echo.>>"%%A\Install %%~nA.bat"
	Echo :UnInstall>>"%%A\Install %%~nA.bat"
	For /F "Tokens=*" %%B In ('Dir /B /S /A-D "%%A" 2^>nul') Do (
		Set SourceFilePath=%%B
		Call Set DestFilePath=%%SourceFilePath:%%A=%DataDir%%%
		If /I Not "%%~nB"=="Install %%~nA" Echo Del /F /Q "!DestFilePath!" ^>nul>>"%%A\Install %%~nA.bat"
	)
	Echo Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\CommandStore\shell\%%~nA" /f 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo For /F "Tokens=2*" %%%%I In ^('Reg Query "HKCR\Directory\shell\DeletePlugins" /v SubCommands^^^|Find "REG_SZ" 2^^^>nul'^) Do Set SubCommand=%%%%J>>"%%A\Install %%~nA.bat"
	Echo Set SubCommand=%%SubCommand:%%~nA=;%%>>"%%A\Install %%~nA.bat"
	Echo Set SubCommand=%%SubCommand:;;;=;%%>>"%%A\Install %%~nA.bat"
	Echo Set SubCommand=%%SubCommand:;;=;%%>>"%%A\Install %%~nA.bat"
	Echo If "%%SubCommand%%"==";" ^(Reg Delete "HKCR\Directory\shell\DeletePlugins" /f 1^>nul 2^>nul^&Del /F /Q %%0 ^>nul^)>>"%%A\Install %%~nA.bat"
	Echo If Not "%%SubCommand%%"==";" ^(>>"%%A\Install %%~nA.bat"
	Echo SetLocal EnableDelayedExpansion>>"%%A\Install %%~nA.bat"
	Echo If "^!SubCommand:~0,1^!"==";" Set SubCommand=^^!SubCommand:~1^^!>>"%%A\Install %%~nA.bat"
	Echo If "^!SubCommand:~-1^!"==";" Set SubCommand=^^!SubCommand:~0,-1^^!>>"%%A\Install %%~nA.bat"
	Echo Reg Add "HKCR\Directory\shell\DeletePlugins" /v SubCommands /d "^!SubCommand^!" /f 1^>nul 2^>nul>>"%%A\Install %%~nA.bat"
	Echo Del /F /Q %%0 ^>nul^)>>"%%A\Install %%~nA.bat"
)
Вам нужно будет только изменить пути (выделено красным) к папкам Data (для примера C:\Program Files\Oblivion\Data) и папке с плагинами, предназначенными для установки (для примера C:\Installs\Games\Oblivion\OblivionPatches). Чтобы все работало придерживайтесь следующего:
  1. В папке OblivionPatches должны быть подпапки с уникальными именами с файлами плагинов (например, файлы плагина BlaBlaBla (папки meshes, textures и т.д.) должны быть в папке OblivionPatches в подпапке BlaBlaBla). Уникальное имя подпапки будет фигурировать в контекстном меню, поэтому выбирайте понятные названия.
  2. При запуске одного из этих 2 скриптов в папках плагинов создадутся батники вида Install "имя плагина".bat. Когда захотите установить плагин в игру просто скопируйте все из, например, BlaBlaBla (папки meshes, textures, батник и т.д.) в папку Data игры.
  3. В итоге, если скопировали несколько плагинов, то в папке Data будет несколько батников Install "имя плагина".bat. Запустите те, которые хотите "установить" и прописать в контекстном меню. При этом батник поменяет свое имя на Uninstall "имя плагина".bat. Это значит, что батник готов к удалению файлов плагина и запись в контекстном меню присутствует. Захотите удалить плагин либо запускайте батник, либо через контекстное меню.
  4. Дабы не захламлять контекстное меню записями, вызывайте его при нажатой клавише Shift.
  5. Только для Win7 сделано каскадное меню, для XP каскадное меню без shell extension сделать нельзя, поэтому записи в основном меню.

З.Ы. Надеюсь, понятно объяснил.
З.Ы.Ы. Легче полноценный инсталлятор написать, чем инсталлятор на батниках
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:06, 14-09-2010 | #4


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


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

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


Спасибо

Отправлено: 17:58, 14-09-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скрипт создания ссылки, для GPO bombording Скриптовые языки администрирования Windows 6 27-09-2012 13:37
VBS/WSH/JS - [решено] wsh-скрипт для создания сетевой папки vdereberya Скриптовые языки администрирования Windows 11 09-08-2010 22:21
Любой язык - Батник (скрипт) для создания odbc ITSpec Скриптовые языки администрирования Windows 2 09-12-2009 10:32
Скрипт для создания пользователей Ven Microsoft Windows NT/2000/2003 6 24-02-2008 23:57
Для создания МПЗ файлов Trialist Видео и аудио: обработка и кодирование 6 15-09-2006 20:10




 
Переход