Не запускать программу пока не будет найден файл
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (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 2506628 |
Код:
@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
Как то так...
|
Цитата:
Цитата ufooo
Как связать два кода чтобы они срабатывали последовательно. Вариант такой: Поиск программы: (Winword.exe), и не открывать ее пока не будет отыскан файл, (MastersPc.doc). »
|
Вам не нужно искать «Winword.exe». Достаточно найти документ «MastersPc.doc» и выполнить для него «ShellExecute()» посредством «start»:
Код:
start "" "Путь\MastersPc.doc"
|
iccup.platoon@vk |
12-05-2015 23:53 2506632 |
Случайно написал...
|
Код открывает (.doc) файл "Woрдом" даже если направить ево на (Foxit Reader.exe), и после выполнении выбрасывает такое окно ошибки.

После нажатия на (Ok) документ открывается.
|
iccup.platoon@vk |
13-05-2015 00:08 2506644 |
Для интереса, грубо обрезал код, оставив:
Код:
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
До этого, конечно, создав искомый файл на диске С. Полет нормальный.
Кстати, а вдруг есть проблема?
|
Цитата:
Цитата ufooo
Код открывает (.doc) файл "Woрдом" »
|
Естественно, если указанное расширение сопоставлено файловому типу «Документ Microsoft Word», а тот, в свою очередь, ассоциирован с исполняемым файлом «WinWord.exe».
Цитата:
Цитата ufooo
даже если направить ево на (Foxit Reader.exe) »
|
Переведите на русский — как можно направить код на «Foxit Reader.exe». Я не смог понять Вашей фразы.
|
iccup.platoon@vk |
13-05-2015 00:32 2506664 |
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
|
Время: 03:15.
© OSzone.net 2001-