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

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

Ответить
Настройки темы
CMD/BAT - [решено] запуск *.exe с параметром "y" с помощью батника

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


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

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


Изменения
Автор: sharky lions
Дата: 18-04-2011
имеется:
Код: Выделить весь код
For /R C:\Users\admin\Desktop\Gen\ %%I In (*.exe) Do Start /Wait "" "%%I"
он рабочий, но есть проблемка, все эти *.exe являются SFX архивами и их надо запустить с параметром /y
а также назначить им рабочую папку C:\Users\admin\Desktop\unpack_Gen\

пробовал
Код: Выделить весь код
For /R C:\Users\admin\Desktop\Gen\ %%I In (*.exe) Do Start /Wait "" "%%I" /y
Код: Выделить весь код
For /R C:\Users\admin\Desktop\Gen\ %%I In (*.exe) Do Start /Wait "" "%%I" "/y"
не помогает


____________________________________________________________________________________________________ _______________
решение задачи от gora и amel27:
Цитата amel27:
на основе варианта от gora:
Код: Выделить весь код
For /R C:\Users\admin\Desktop\Gen\ %%I In (*.exe) Do (
Echo A|Start "" /D "C:\Users\admin\Desktop\unpack_Gen\" /B /Wait "%%~I"
)
»

Отправлено: 14:53, 17-04-2011

 

Ветеран


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

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


sharky lions,

Если требуется пользовательский ввод, то как уже посоветвали попробуйте так:
Код: Выделить весь код
...) do echo y | "%%i"
Если нужно указать папку, то попробуйте ее создать и перейти в нее:
Код: Выделить весь код
...) do (
    
    2>nul md "C:\Path\To\Dir" 
    pushd "C:\Path\To\Dir"
    echo y | "%%i"
    popd

)

Отправлено: 21:33, 17-04-2011 | #11



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

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


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


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

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


Цитата Foreigner:
sharky lions,
А откуда вы знаете про этот ключ? »
когда-то во времена MS-DOS этот ключик отвечал на любой вопрос (Y)es

внутренний SFX архив тоже RAR[/q]



CyberDaemon, укажи плиз в какое место кода надо это вставить?

Отправлено: 21:39, 17-04-2011 | #12


Ветеран


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

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


Цитата:
echo /y | команда
Это ничего не решит. Нужно:
Код: Выделить весь код
echo y | команда
Но и здесь нет гарантии, что приложение примет ответ по конвейеру, а не будет ждать ввода с клавиатуры.

Отправлено: 21:58, 17-04-2011 | #13


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


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

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


Foreigner, укажи плиз в какое место кода надо это вставить? методом изменения приведённого мною скрипта...

Отправлено: 22:40, 17-04-2011 | #14


Ветеран


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

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


Код: Выделить весь код
@echo off

for /r C:\Users\admin\Desktop\Gen\ %%i in (*.exe) do  echo y | "%%i"

Отправлено: 22:46, 17-04-2011 | #15


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


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

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


прости в этот код )))
Код: Выделить весь код
For /R C:\Users\admin\Desktop\Gen\ %%I In (*.exe) Do Start /Wait "" /D"C:\Users\admin\Desktop\unpack_Gen" "%%~I"
к тому же я не втыкаю как приведённый тобою код будет обрабатывать exe-шники на сколько я знаю start тут обезателен, а /wait более чем желателен... наверное ты не обратил внимания, что батник обрабатывает все файлы расположенные по пути №1 (верно для обоих кодов) и запускает их в папке расположенной по пути №2 (верно для исправленного кода), запуск происходит последовательно, по факту завершения предыдущего процесса, что верно для SFX архивов, плюс ограничение одновременно запущеных процессов в командной среде ограничено 20-ю...

Последний раз редактировалось sharky lions, 18-04-2011 в 00:42.


Отправлено: 23:32, 17-04-2011 | #16


Ветеран


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

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


sharky lions,
Цитата:
а сколько я знаю start тут обезателен, а /wait более чем желателен...
Нет, в данном случае все будет выполняться последовательно. А про каталог я уже выше написал:
Код: Выделить весь код
@echo off

pushd "C:\Users\admin\Desktop\unpack_Gen"

for /r C:\Users\admin\Desktop\Gen\ %%i in (*.exe) do  echo y | "%%i"

popd
Но почему бы сначала не попробовать 'echo y| file.exe'. Может вообще не будет работать.

Отправлено: 23:47, 17-04-2011 | #17


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


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

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


к тому же для процесса разархивации @echo off абсолютно необходимый элемент )) подумаешь не будешь знать работает скрипт или нет, есть ошибки или нет... нафик оно надо! ))) разархивится десяток архивов, а ещё пол сотни не нужны раз не разархивились )))


Foreigner, что собственно и требовалось доказать не работает ни как вообще)

Последний раз редактировалось sharky lions, 18-04-2011 в 00:58.


Отправлено: 00:42, 18-04-2011 | #18


Ветеран


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

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


sharky lions,
Цитата:
подумаешь не будешь знать работает скрипт или нет, есть ошибки или нет... нафик оно надо! )))
`@echo off' никак не влияет на stderr и stdout, для этого есть дескрипторы потоков. Только прячет служебный мусор -- сами команды в промпте.
Цитата:
что собственно и требовалось доказать не работает ни как вообще
Значит не судьба, вбивай "Y" руками или с помощью какой-нибудь кнопконажималки.

PS. Попробуй с помощью файла ответов:
Код: Выделить весь код
1>answer.txt echo y
"file.exe" < answer.txt

Последний раз редактировалось Foreigner, 18-04-2011 в 07:28.


Отправлено: 07:11, 18-04-2011 | #19


Googler


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

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


Цитата sharky lions:
не работает »
выложил бы тестовый архивчик, чтобы не гадать на кофейной гуще...
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:21, 18-04-2011 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] Компьютер подготавливается к первому использованию Skyver-x Microsoft Windows 7 23 01-04-2019 08:01
Интерфейс - [решено] Не работает "Открыть с помощью", предпологаю утеряны записи реестра с rundll32.exe majestyc_pc Microsoft Windows 7 1 03-06-2010 13:29
"2 Reboot (explorer.exe)" самодельная "прога" перезагружающая оболочку "explorer.exe" rizz Автоматическая установка приложений 14 30-11-2009 14:32
Почему Windows при запуске файла с именем "start.exe" показывает кнопки как "Пуск"? Котяра Хочу все знать 9 22-06-2009 13:48
VBS/WSH/JS - [решено] Как добавить "сложное" значение в "бинарный" параметр реестра с помощью WSH 13Demon Скриптовые языки администрирования Windows 1 10-02-2009 09:47




 
Переход