Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Создать сценарий для ResHacker.

Аватара для E-mpty

Старожил


Автор проектов


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

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


Здравствуйте!

Подскажите пожалуйста, возможно ли,создавать файлы сценария пропатчивания ресурсов,для программы ResHacker?
Например: есть папка с названием ресурса (sndvol32.exe),в ней лежат такие файлы: 1.bmp, 2.ico, 31.RES ...
Нужно чтобы на выходе появился текстовый файл (rcscript.txt) с таким содержанием:
Код: Выделить весь код
[FILENAMES]
Exe = "Backup\sndvol32.exe"
SaveAs = "NewFiles\sndvol32.exe"

[COMMANDS]
-addoverwrite "Resources\sndvol32.exe\1.bmp", BITMAP, 1,
-addoverwrite "Resources\sndvol32.exe\2.ico", ICONGROUP, 2,
-addoverwrite "Resources\sndvol32.exe\31.res", DIALOG, 31,
Т.е., батник должен прочитать название и содержимое папки,создать список файлов,и дописать строки в текстовый файл...

Зеленый цвет - дописывает название папки,с которой считывает содержимое,в соответствующее место в строке...
Серый цвет - название файла, в папке.
Синий цвет - дописывает тип ресурса, в зависимости от расшерения файла. Т.е. если расширение файла *.ico то написать ICONGROUP...
Красный цвет - дописывает название, соответствующее имени файла.
Все остальное не изменно, как шаблон...
Реально такое сделать средствами CMD (возможно и дополнительными средствами)?

Отправлено: 13:44, 10-10-2009

 

Аватара для gora

Ушёл из жизни


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

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


Структура папок как в Respath-e, скрипт создается прямо в нужной папке
Код: Выделить весь код
@Echo off
setlocal enabledelayedexpansion
For /F "UseBackQ Delims=" %%a In (`Dir Resources /B /O:N 2^>nul`) Do (
	Set "scrpt=Resources\%%a\rcscript.txt"
	Echo [FILENAMES]>!scrpt!
	Echo Exe = "Backup\%%a">>!scrpt!
	Echo SaveAs = "NewFiles\%%a">>!scrpt!
	Echo Log = "Logs\%%a.log">>!scrpt!
	Echo.>>!scrpt!
	Echo [COMMANDS]>>!scrpt!
	For /F "UseBackQ Delims=" %%I In (`Dir Resources\%%a /B /O:EN 2^>nul`) Do (
		If Not %%~xI==.txt (
			If %%~xI==.res Set Resrs=DIALOG
			If %%~xI==.ico Set Resrs=ICONGROUP
			If %%~xI==.bmp Set Resrs=BITMAP
			If %%~xI==.avi Set Resrs=AVI
						
			Echo -addoverwrite "Resources\%%a\%%I", !Resrs!, %%~nI,>>!scrpt!
		)
	)
)
pause
Exit
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:54, 10-10-2009 | #2



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

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


Googler


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

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


ещё вариант - скрипт в каталоге, где и "Resources":
Код: Выделить весь код
Set DIR=Resources
Set TXT=rcscript.txt

Set .BMP=BITMAP
Set .ICO=ICONGROUP
Set .RES=DIALOG

For /R "%DIR%" %%i In (.) Do If Not "%%~xi"=="" CALL :DIREXEC "%%i"
EXIT

:DIREXEC
 Echo [FILENAMES]>"%~1\%TXT%"
 Echo Exe = "Backup\%~nx1">>"%~1\%TXT%"
 Echo SaveAs = "NewFiles\%~nx1">>"%~1\%TXT%"
 Echo.>>"%~1\%TXT%"

 Echo [COMMANDS]>>"%~1\%TXT%"
 For %%i In ("%~1\*") Do Call :COMMANDS "%~1" "%%~i"
Exit /B

:COMMANDS
 If Defined %~x2 Call Echo -addoverwrite "%DIR%\%~nx1\%~nx2", %%%~x2%%, %~n2,>>"%~1\%TXT%"
Exit /B
отдельное спасибо gora за ликвидацию "белых пятен" в постановке задачи... особенно насчет местоположения исходных/конечных файлов и каталогов :)

Последний раз редактировалось amel27, 10-10-2009 в 17:56. Причина: неполнота в постановке задачи

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:21, 10-10-2009 | #3


Аватара для E-mpty

Старожил


Автор проектов


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

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


gora, amel27, спасибо вам большое! Это то что нужно Я думал написать батник и добавить его запуск в контекстное меню, чтобы при выборе из контекстного меню он создавал рядом с папкой текстовый файл... Но ваш вариант лучше, чем я думал, и сколько времени секономил... спасибо!

Отправлено: 21:37, 10-10-2009 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] ResHacker.cmd semiono Скриптовые языки администрирования Windows 13 27-07-2010 20:43
Разное - [решено] Как создать bat файл - сценарий остановить устройство pircom Microsoft Windows 2000/XP 1 09-01-2010 20:12
Сценарий комедии для геймеров и футб.фанатов obcy Флейм 0 22-11-2009 20:05
[решено] AutoIt и ResHacker ya158 AutoIt 22 29-09-2009 00:22
VBS/WSH/JS - [решено] Сценарий входа СаркозаН Скриптовые языки администрирования Windows 6 05-09-2009 11:15




 
Переход