Показать полную графическую версию : [решено] Не запускать программу пока не будет найден файл
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (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
iccup.platoon@vk
12-05-2015, 23:41
@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
Как то так...
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (Winword.exe), и не открывать ее пока не будет отыскан файл, (MastersPc.doc). »
Вам не нужно искать «Winword.exe». Достаточно найти документ «MastersPc.doc» и выполнить для него «ShellExecute()» посредством «start»:
start "" "Путь\MastersPc.doc"
iccup.platoon@vk
12-05-2015, 23:53
Случайно написал...
Код открывает (.doc) файл "Woрдом" даже если направить ево на (Foxit Reader.exe), и после выполнении выбрасывает такое окно ошибки.
http://s019.radikal.ru/i643/1505/2f/726e831c7be6t.jpg (http://radikal.ru/fp/e229876f29f8432499c6914bcfa4698e)
После нажатия на (Ok) документ открывается.
iccup.platoon@vk
13-05-2015, 00:08
Для интереса, грубо обрезал код, оставив:
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
До этого, конечно, создав искомый файл на диске С. Полет нормальный.
Кстати, а вдруг есть проблема? (https://support.microsoft.com/ru-ru/kb/827732/ru)
Код открывает (.doc) файл "Woрдом" »
Естественно, если указанное расширение сопоставлено файловому типу «Документ Microsoft Word», а тот, в свою очередь, ассоциирован с исполняемым файлом «WinWord.exe».
даже если направить ево на (Foxit Reader.exe) »
Переведите на русский — как можно направить код на «Foxit Reader.exe». Я не смог понять Вашей фразы.
iccup.platoon@vk
13-05-2015, 00:32
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
Так работает.
@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
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.