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

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

Ответить
Настройки темы
CMD/BAT - [решено] ResHacker.cmd

Аватара для semiono

Ветеран


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

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


Пмогите написать батник для ResHacker.exe?
Мне надо чтоб файл лежал как обычно %ProgramFiles%\ResHacker\ResHacker.exe, но при этом корректно выполнялся в cmd.exe

Сначала, я просто накатал такое ResHacker.cmd:
@start C:\~\Apps\ResHacker\ResHacker.exe "%1" %*

( во-первых я лишь интуитивно понимаю смысл этого - "%*" )
Во-вторых, как мне показалось ResHacker игнорирует вольный ввод, и всё понимает буквально.

Вот его справка:
Command line scripts have 2 general forms:

1. Single commands:

Код: Выделить весь код
ResHacker.exe command command_parameters
2. Multiple commands:
	ResHacker.exe -script scriptfile


Single Commands:

command and command_parameters:
   -add           ExeFile, SaveAsFile, ResourceFile, ResourceMask
   -addskip       ExeFile, SaveAsFile, ResourceFile, ResourceMask
   -addoverwrite  ExeFile, SaveAsFile, ResourceFile, ResourceMask
   -modify        ExeFile, SaveAsFile, ResourceFile, ResourceMask

   -extract       ExeFile, ResourceFile, ResourceMask
   -delete        ExeFile, SaveAsFile, ResourceMask
Нужно нечто такое
Код: Выделить весь код
@if "%1"=="" C:\~\Microsoft.NET\Framework\v2.0.50727\ilasm.exe & goto sh
@C:\~\Microsoft.NET\Framework\v2.0.50727\ilasm.exe "%1" %*
:sh
чтобы переменное количество параметров передавалось соответственно...

В двух словах, как зделать чтоб в одном случае было "%1" "%2", а в другом "%1" "%2" "%3" "%4" в зависимости от ввода?

-------
Полезное сообщение


Отправлено: 20:10, 26-11-2009

 

Ветеран


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

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


Цитата semiono:
Вы имеете ввиду Ваш пакетный файл DemoStart.cmd,…
Да.
Цитата semiono:
…у меня открывается ResHacker.exe норамльно!
Первым вызовом («ResHacker.exe»)? Если Вы его не добавили путь в «Path» — не должно такого быть. Что-то Вы не договариваете. Сработает только вторая команда из пакетного файла — «start "" ResHacker.exe».
Цитата semiono:
Хотя я не понял что значит "" здесь: start "" ResHacker.exe? Может это Вы имели ввиду: start "C:\~\Apps\ResHacker\ResHacker.exe"
Нет, не это. Зачастую путь в кавычках команда «start» воспринимает как заголовок окна, хоть тот числится как необязательный параметр:
Цитата Help Start:
Синтаксис:
start ["заголовок"] [/dпуть] [/i] [/min]…
Потому я предпочитаю помещать такого рода «заглушку» в виде пустого заголовка даже тогда, когда путь указывается без кавычек.

Цитата semiono:
offtop: самый интересный с точки зрения исследования комманд строки это Directory Opus,
Боюсь Вас разочаровать, но сие не так. Воздержусь от язвительных комментариев в адрес «Directory Opus», но если нужна консоль и реальная командная строка под Win32/64 — это «Far Manager».
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:21, 01-12-2009 | #11



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

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


Аватара для semiono

Ветеран


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

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


Far - это даже и не обсуждается.
Но я имел ввиду explorer - подобный "проводник", TotalCmd я не люблю... при всех его фитчах, слишком серо...
но спорить нет смысла, просто факт, что dopus 100% заточен под win7 о чём было заявленно.
А фар рулит! Yes! даже при моём скромном опыте в шелах

Цитата Iska:
Если Вы его не добавили путь в «Path» — не должно такого быть. »
ась?
Iska, у меня в реестре всегда две записи, может об этом речь?
Код: Выделить весь код
HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\ResHacker.exe",,0x0,"C:\~\Apps\ResHacker\ResHacker.exe"
HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\ResHacker.exe","Path",0x0,"C:\~\Apps\ResHacker"
path я тоже прописываю в регистри!


сейчас ещё один косяк исправил, вместо старого моего батника (Inno Setup)
Код: Выделить весь код
@if "%1"=="" C:\~\Apps\Innosup\ISCC.exe & goto sh
@C:\~\Apps\Innosup\ISCC.exe "%1" %*
:sh
rem  0_0
достаточно было того:
Код: Выделить весь код
@C:\~\Apps\Innosup\ISCC.exe %*

-------
Полезное сообщение


Отправлено: 00:11, 02-12-2009 | #12


Ветеран


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

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


Цитата semiono:
Но я имел ввиду explorer - подобный "проводник", TotalCmd я не люблю... при всех его фитчах, слишком серо...
но спорить нет смысла, просто факт, что dopus 100% заточен под win7 о чём было заявленно. »
Ясно.
Цитата semiono:
Цитата Iska:
Если Вы его не добавили путь в «Path» — не должно такого быть.
ась?
Описался . В оригинале подразумевалось: «Если Вы только не добавили его путь в [переменную окружения] «PATH» — не должно такого быть. … Сработает только вторая команда из пакетного файла — «start "" ResHacker.exe».
Цитата semiono:
Iska, у меня в реестре всегда две записи, может об этом речь?
Код: Выделить весь код
HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\ResHacker.exe",,0x0,"C:\~\Apps\ResHacker\ResHacker.exe"
HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\ResHacker.exe","Path",0x0,"C:\~\Apps\ResHacker"
path я тоже прописываю в регистри! »
Я понял так, что указание «Path» в «App Paths» требуется тогда, когда требуемые библиотеки расположены по иному пути, нежели исполняемый файл (и не в путях, перечисленных в «PATH»): Errors in Windows XP applications that start by using the ShellExecute() function. Ну, и, дополнительно, если потребуется:
Цитата:
Windows XP adds the path value, if it exists, to the PATH environment variable, if you use the ShellExecute() function to start your program.
для приложения и его дочерних процессов.
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:51, 02-12-2009 | #13


Старожил


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

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


Цитата:
\CurrentVersion\App Paths у меня итак всегда включен, так как я всё что только есть всегда использую!
Но это для меню Run подходит, но не для cmd.exe.
Лучше поздно, чем никогда.
Недавно я изучал запуск функций из DLL файлов с помощью RUNDLL32.EXE и там есть одна DLL'ка - shell32.dll, которая как раз отвечает и за "Выполнить..." (функция ShellExec_RunDLL).

Если создать run.bat, положить в %windir% и вписать следующее:
Код: Выделить весь код
@echo off
rundll32.exe shell32.dll, ShellExec_RunDLL %*
То получим чистую копию "Выполнить..." в командной строке

Примеры использования:
run explorer.exe /separate
run http://127.0.0.1
run msconfig

Отправлено: 20:43, 27-07-2010 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите запустить CMD-файл из CMD-файла с параметрами Oleg48 Скриптовые языки администрирования Windows 2 18-11-2009 11:08
CMD/BAT - [решено] Создать сценарий для ResHacker. E-mpty Скриптовые языки администрирования Windows 3 10-10-2009 21:37
[решено] AutoIt и ResHacker ya158 AutoIt 22 29-09-2009 00:22
CMD/BAT - [решено] FTP + CMD Art644 Скриптовые языки администрирования Windows 6 18-05-2009 18:54
Помогите пожалуйста не срабатывает команда из*cmd файла запускаемого из RanOnceEx.cmd vovchiku Автоматическая установка Windows 2000/XP/2003 6 25-09-2007 23:38




 
Переход