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

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

Ответить
Настройки темы
CMD/BAT - [решено] Не запускать программу пока не будет найден файл

Пользователь


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

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


Изменения
Автор: ufooo
Дата: 12-05-2015
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (Winword.exe), и не открывать ее пока не будет отыскан файл, (MastersPc.doc).
Код: Выделить весь код
@Echo off
setlocal enableextensions enabledelayedexpansion 
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Winword.exe" 2^>Nul') Do start "" "%%a")

setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\MastersPc.doc" 2^>Nul') Do start "" "%%a")
Exit /b 0

Отправлено: 23:05, 12-05-2015

 

Аватара для iccup.platoon@vk

Пользователь


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

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


Код: Выделить весь код
@Echo off
setlocal enableextensions enabledelayedexpansion 
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Winword.exe" 2^>Nul') Do set temp1=%%a)
endlocal & set proga=%temp1%

setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\MastersPc.doc" 2^>Nul') Do set temp2=%%a)
endlocal & set file=%temp2%
start "" "%proga%"
start "" "%file%"
Exit /b 0
Как то так...

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 23:41, 12-05-2015 | #2



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

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


Ветеран


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

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


Цитата ufooo:
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (Winword.exe), и не открывать ее пока не будет отыскан файл, (MastersPc.doc). »
Вам не нужно искать «Winword.exe». Достаточно найти документ «MastersPc.doc» и выполнить для него «ShellExecute()» посредством «start»:
Код: Выделить весь код
start "" "Путь\MastersPc.doc"

Отправлено: 23:47, 12-05-2015 | #3


Аватара для iccup.platoon@vk

Пользователь


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

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


Случайно написал...

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Последний раз редактировалось iccup.platoon@vk, 13-05-2015 в 00:01.


Отправлено: 23:53, 12-05-2015 | #4


Пользователь


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

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


Код открывает (.doc) файл "Woрдом" даже если направить ево на (Foxit Reader.exe), и после выполнении выбрасывает такое окно ошибки.

После нажатия на (Ok) документ открывается.

Последний раз редактировалось ufooo, 13-05-2015 в 00:18.


Отправлено: 00:01, 13-05-2015 | #5


Аватара для iccup.platoon@vk

Пользователь


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

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


Для интереса, грубо обрезал код, оставив:
Код: Выделить весь код
setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\123.doc" 2^>Nul') Do set temp2=%%a)
endlocal & set file=%temp2%
start "" "%file%"
Exit /b 0
До этого, конечно, создав искомый файл на диске С. Полет нормальный.
Кстати, а вдруг есть проблема?

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.


Отправлено: 00:08, 13-05-2015 | #6


Ветеран


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

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


Цитата ufooo:
Код открывает (.doc) файл "Woрдом" »
Естественно, если указанное расширение сопоставлено файловому типу «Документ Microsoft Word», а тот, в свою очередь, ассоциирован с исполняемым файлом «WinWord.exe».

Цитата ufooo:
даже если направить ево на (Foxit Reader.exe) »
Переведите на русский — как можно направить код на «Foxit Reader.exe». Я не смог понять Вашей фразы.

Отправлено: 00:23, 13-05-2015 | #7


Аватара для iccup.platoon@vk

Пользователь


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

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


Iska, я думаю он хочет что-то вроде
Код: Выделить весь код
@Echo off
setlocal enableextensions enabledelayedexpansion 
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Winword.exe" 2^>Nul') Do set temp1=%%a)
endlocal & set proga=%temp1%

setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\MastersPc.doc" 2^>Nul') Do set temp2=%%a)
endlocal & set file=%temp2%
"%proga%" "%file%"
Exit /b 0

-------
Да, я дотошный. Да, я всегда уточняю цели. Зато выполняю задание на совесть.

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

Отправлено: 00:32, 13-05-2015 | #8


Пользователь


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

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


Так работает.
Код: Выделить весь код
@Echo off
setlocal enableextensions enabledelayedexpansion 
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\Winword.exe" 2^>Nul') Do set temp1=%%a)
endlocal & set proga=%temp1%

setlocal enableextensions enabledelayedexpansion
For %%i In (c d e f g h i j k l m n o p q r s t u v w x y z) Do (
For /F "Delims=" %%a In ('DIR /B/S/A-D "%%i:\MastersPc.doc" 2^>Nul') Do set temp2=%%a)
endlocal & set file=%temp2%
"%proga%" "%file%"
Exit /b 0

Последний раз редактировалось ufooo, 13-05-2015 в 12:31.


Отправлено: 00:51, 13-05-2015 | #9



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Запуск файла с помощью программы из командной строки DemchaAV Скриптовые языки администрирования Windows 6 29-11-2015 12:11
CMD/BAT - [решено] Поиск и запуск файла определенной программой ufooo Скриптовые языки администрирования Windows 8 04-05-2015 17:16
[решено] Поиск программы по имени и ее запуск eus_deus AutoIt 6 25-09-2013 17:53
CMD/BAT - Поиск локальных дисков и запуск файла. WoW Скриптовые языки администрирования Windows 0 09-02-2012 16:15
[решено] Как запрепить запуск программы по имени файла AlxCruel Microsoft Windows 2000/XP 10 05-04-2006 08:58




 
Переход